Commit graph

64 commits

Author SHA1 Message Date
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