Martin Bornhold
2f34f8271c
vcs: Use a thread scoped cache invalidation context to cache repository objects.
...
Without this change the cache is on a process scope. If running with multiple
threads this leads to sharing the cached object between threads. This will cause
exceptions if multiple threads are trying to access the same curl object.
Even worse it allows multiple threads to operate on the same repository object
concurrently.
2016-07-14 09:07:19 +02:00
Martin Bornhold
e61c84a72e
config: Use hooks protocol and direc calls seting from vcs settings module.
2016-08-08 08:29:35 +02:00
Martin Bornhold
668275b816
events: Trigger repository group events (create/update/delete)
2016-07-28 11:28:42 +02:00
Marcin Kuzminski
309ee712b2
live-comments: use show comment instead of refresh the page so
...
it better reflects the action we're doing.
2016-08-04 12:43:22 +02:00
Marcin Kuzminski
1b62606fc2
emails: added new tags to status sent
...
- make this distinct colored tags for quick status catch
- pass in the status type together with label to the notifiactions and templates
- fixed some UI issues on emails
2016-08-03 15:21:38 +02:00
Marcin Lulek
96dc4c06fb
channelstream: don't try to communicate with ws server if not explictly enabled
2016-08-03 13:55:40 +02:00
Marcin Lulek
4baa8118b9
channelstream: do not send comment notifications to the commenting user
2016-08-03 12:28:46 +02:00
Marcin Kuzminski
9d875ad256
emails: fixed password reset confirmation that was broken because of undefied variable.
2016-08-01 23:11:16 +02:00
Marcin Lulek
e9d5eb09c5
notifications: support real-time notifications with websockets via channelstream
2016-08-02 16:18:44 +02:00
Marcin Kuzminski
198c6fda61
gists: use colander schema to validate input data.
...
- brings consistent validation acros API and web
- use nicer and stricter schemas to validate data
- fixes #4118
2016-07-31 20:11:12 +02:00
Daniel Dourvaris
61553db529
deform: use pypi deform library and add helpers to deform scope directly
...
to avoid passing it each time form is rendered
2016-07-29 17:27:38 +03:00
Daniel Dourvaris
9dd0674b39
forms: add deform for integration settings forms
2016-07-27 11:39:23 +03:00
lisaq
5fa18a8f7d
notifications: adjusting how instance name is passed and fixing tests
2016-07-28 17:35:30 +02:00
Daniel Dourvaris
391379c4ab
user: hash email key for User.get_by_email() fixes #4132
2016-07-28 09:19:07 +03:00
Marcin Kuzminski
708038952c
db: always use Session() for compatibility, Using Session is actually the
...
scoped_session which is not the same as the one which we "call".
More here: http://docs.sqlalchemy.org/en/latest/orm/contextual.html#contextual-thread-local-sessions
2016-07-27 00:42:19 +02:00
Daniel Dourvaris
74d0f0c336
api: add a max_file_bytes parameter to get_nodes so that large
...
files can be skipped
2016-07-26 20:52:11 +03:00
Daniel Dourvaris
1a842e15d2
scm: change ._get_content() to .raw_bytes attribute to file nodes to
...
allow getting raw bytes instead of text content of a file and added
.md5 and .is_binary attributes to file nodes
2016-07-26 20:47:23 +03:00
Marcin Kuzminski
4482553490
docs: fixed docstring
2016-07-26 16:00:11 +02:00
Martin Bornhold
0c7d0871b5
models: Use the new get_vcs_instance method to retrieve vcs instances.
2016-07-21 09:04:14 +02:00
Marcin Kuzminski
169a7c5cf1
integrations-db: don't use default contructor to be consisten with other modules
...
usage.
2016-07-14 11:23:46 +02:00
Daniel Dourvaris
efc1db0e2e
integrations: use mutable json settings using json alchemy MutableObject.
2016-07-14 11:23:28 +02:00
Daniel Dourvaris
88e83cf796
events: add an event for pull request comments with review status
2016-07-13 10:39:54 +02:00
Marcin Kuzminski
990143eae0
tokens: auth-token is not only for git/hg but also for svn.
...
Changed some docstrings to indicate this.
2016-07-13 12:34:17 +02:00
Daniel Dourvaris
d7cd766a07
integrations: fix bug where deleting a repo did not delete integrations
2016-07-12 11:14:40 +02:00
Daniel Dourvaris
f81ae45597
slack: fix links in commit/pr events
2016-07-11 17:57:34 +02:00
Daniel Dourvaris
7ff09cda95
integrations: add integration support
...
* added db migration for integration table, version 55
* added integrations views/templates/models
* added slack integration
* added h.url.current() support for pyramid only contexts
* added issues extractor for commit messages
* renamed repo-deleted/repo-created to repo-delete/repo-create
* removed marshmallow
* added serialization for events to static dicts of data
* added lazy_ugettext for translation of start time string
2016-07-10 06:43:20 +03:00
Daniel Dourvaris
c1b109c7a0
events: fix bug, 'url' was not in dict
2016-07-07 05:35:54 +03:00
Daniel Dourvaris
597b9b24d7
events: fix bugs with serialization of repo/pr events and add tests for those cases
2016-07-07 04:31:17 +03:00
Daniel Dourvaris
23d7a947f5
events: add serialization .to_dict() to events based on marshmallow
2016-07-06 12:21:03 +03:00
Daniel Dourvaris
9727a3880f
events: add event system for RepoEvents
2016-07-06 06:00:18 +03:00
Martin Bornhold
77c3287d4a
settings: Delete obsolete code related to the rebase-merge lab settings.
2016-06-27 16:53:36 +02:00
Martin Bornhold
b545575d28
settings: Read 'rebase-merge' config option and pass it to the VCS insntacen on merge.
2016-06-27 13:17:41 +02:00
Martin Bornhold
b3a1dec11e
settings: Add the 'rebase-merge' setting to VCS base form and VCS settings model.
2016-06-27 11:00:22 +02:00
Daniel Dourvaris
a9d0598239
scm: change update_commit_cache to check revision as well
2016-07-04 16:13:53 +03:00
Daniel Dourvaris
4915a005dc
scm: clear the cs cache on delete/remap
2016-07-01 14:17:50 +03:00
Marcin Kuzminski
772de504bb
encryption: Implement a slightly improved AesCipher encryption.
...
This addresses issues from #4036
- we use a backward compatible cipher that can implement HMAC signature
- with HMAC signature we can detected mangled data or wrong secret key
- this allows more explicit errors than UnicodeDecode errors
- added a new .ini values that controls strict mode
2016-06-27 19:26:03 +02:00
Marcin Kuzminski
0e916f338a
user: indicate missing super admin or default as fatal errors.
2016-06-28 01:25:33 +02:00
Marcin Kuzminski
16a626ce44
refactor: renamed get_first_admin to get_first_super_admin which
...
reflects better what kind of user we're fetching.
2016-06-28 01:24:24 +02:00
Marcin Kuzminski
7902155b2e
settings: use invalidate after updating settings.
2016-06-27 22:46:33 +02:00
Marcin Kuzminski
a51519ed0a
encryption: use common method to fetch encryption key for encrypted fields.
2016-06-23 13:48:11 +02:00
Marcin Kuzminski
e0266a9130
settings: use cache on whole result not just the query since it's the computation
...
of values that is slow not the query itself.
2016-06-23 11:51:41 +02:00
Marcin Kuzminski
56c24af7bc
caches: use optional identity cache options on get_by_repo_name and get_by_username
...
methods. Disabled by now.
2016-06-22 20:38:44 +02:00
Daniel Dourvaris
f43669f817
model: log exception if multiple repos rather than hard error
2016-06-22 18:29:41 +03:00
Daniel Dourvaris
114e4097ca
model: make sure only 1 repo in session when get_by_repo_name
2016-06-22 18:18:59 +03:00
Daniel Dourvaris
6f322f3be9
speedup: join repo on fork/user/group by default
2016-06-22 14:58:05 +03:00
Daniel Dourvaris
c00cc3ef14
speedup: check identity_map when getting by repo name
2016-06-22 13:38:11 +03:00
Daniel Dourvaris
450bb8142e
speedup: check local session for repo by repo name first
2016-06-22 12:53:43 +03:00
Johannes Bornhold
23ac9de853
events: Send events when user is created or updated.
...
Send the UserPreCreate event before a new user is created.
Send the UserPreUpdate event before a user is updated.
2016-05-31 12:36:58 +02:00
Johannes Bornhold
3cc0e271b6
events: Add a method to model base class for sending events.
...
This wraps the logic to send pyramid events at a single place.
2016-05-31 12:34:42 +02:00
Marcin Kuzminski
2687022328
repos, repo groups, user groups: allow to use disabled users in owner field.
...
This fixes #3374 . There's no good benefit of having possibility to prevent
setting disabled user from beeing an owner.
It can happen that we start preperating a system and use disabled accounts.
Also users shouldn't be forbidden to edit settings on an disabled owner.
2016-06-18 02:03:43 +02:00