Commit graph

93 commits

Author SHA1 Message Date
Tyson Clugg
5ec27b669c Add BackdoorServer support to dddp command, add "Logs" publication. 2015-08-10 16:34:39 +10:00
Tyson Clugg
6ea0e71a74 Bugfix dddp.accounts forgot_password feature. 2015-07-28 14:04:11 +10:00
Tyson Clugg
d762fa45c4 Updated error handling to ensure error reply to method messages when appropriate. 2015-07-22 10:33:21 +10:00
Tyson Clugg
e7b38b89db Stop running request middleware upon connection.
This change deserves a more thorough explanation.  All currently
released versions of Django are based around the concept of receiving a
request and immediately dispatching a response.

WebSocket connections don't follow this convention, and the `request` hangs
around for long periods of time.  As such, things like `request.user` don't
really make sense as a user may login, then logout, then login again all
within the life of a single request.

Given that the concepts applied in Django are based upon a premise that
doesn't hold true for WebSockets (that a request is short-lived), it
doesn't make sense to apply those concepts in django-ddp.
2015-07-21 21:24:14 +10:00
Tyson Clugg
d358ce413a Never assume this.user_id is available. 2015-07-21 21:23:37 +10:00
Tyson Clugg
305b00bc3d Add ThreadLocal factory for this.user which is retrieved from the datbase on demand. 2015-07-21 21:19:55 +10:00
Tyson Clugg
5088c0016d Move thread local factories out of ThreadLocal so other modules may add their own factories. 2015-07-21 21:17:23 +10:00
Tyson Clugg
36199d27c1 Call ready() for each registered API provider as part of AppConfig.ready(). 2015-07-21 19:17:21 +10:00
Tyson Clugg
a462fc52b6 Refactor dddp.accounts.ddp to not use this.request.user or any of django.contrib.sessions. 2015-07-21 19:00:07 +10:00
Tyson Clugg
adf8a5b9c3 Some pylint cleanups to dddp.accounts.ddp module. 2015-07-21 18:53:49 +10:00
Tyson Clugg
b059fe37da Allow silent sub/unsub to support Meteor null publications. 2015-07-21 09:55:55 +10:00
Tyson Clugg
4608996e9f Fix issue with incorrect ordering of messages during login/logout. 2015-07-18 14:09:50 +10:00
Tyson Clugg
8eb2a3d492 Add short_description to get_meteor_id helper for use in ModelAdmin list_display. 2015-07-17 17:49:23 +10:00
Tyson Clugg
797e10e08c Add ObjectMappingMixin using GenericRelation back to ObjectMapping model. 2015-07-17 17:48:25 +10:00
Tyson Clugg
f43097a9ca Add dddp.models.get_object_ids helper function. 2015-07-17 17:46:46 +10:00
Tyson Clugg
a9856294c0 Simplify ModelAdmin registration. 2015-07-16 16:26:53 +10:00
Tyson Clugg
244567c3ba Bugfix /app.model/schema helper method to work with more model field types. 2015-07-16 08:46:12 +10:00
Tyson Clugg
cb46caf9ff Fix bug in post login/logout subscription handling. 2015-07-14 09:22:27 +10:00
Tyson Clugg
781ea8e7a2 Pylint cleanups. 2015-07-09 09:19:13 +10:00
Tyson Clugg
dfd52ebb32 Cleanup Collection.user_ids_for_object(obj) method.
* Removed `include_superusers` argument, replaced with class level `always_allow_superusers` attribute.
* Removed unused `base_qs` argument.
* Don't test for obj being a primary key when running query since obj is assumed to be an object in the prior lines of code anyway.
2015-07-09 08:52:10 +10:00
Tyson Clugg
b059dcbeb0 Fix bug in Accounts.forgotPassword implementation. 2015-07-08 11:55:41 +10:00
Tyson Clugg
fe13aac602 Match return values for Accounts.changePassword and Accounts.changePassword methods. 2015-07-08 11:33:18 +10:00
Yan
8eb293f090 update changePassword 2015-07-08 11:15:32 +10:00
Tyson Clugg
92b42e365b Update hash method in dddp.accounts to bind hash tokens to specified purposes. 2015-07-07 17:40:07 +10:00
Yan
0076b729e4 fix incorrect params in reset_password 2015-07-07 14:22:55 +10:00
Tyson Clugg
ebc8be6e3b Publish user.permissions from dddp.accounts. 2015-07-03 11:49:21 +10:00
Tyson Clugg
b73e29edae Use mimetypes module to correctly guess mime types for Meteor files being served. 2015-06-29 18:19:07 +10:00
Tyson Clugg
35b8b001aa Include ROOT_URL_PATH_PREFIX in ROOT_URL when serving Meteor build files. 2015-06-29 12:01:47 +10:00
Tyson Clugg
fd0cd2023a Use HTTPS for DDP URL if settings.SECURE_SSL_REDIRECT is set. 2015-06-22 04:14:34 +10:00
Tyson Clugg
2f69881e14 Handle django.contrib.postgres.fields.ArrayField in serialization. 2015-06-16 17:50:10 +10:00
Tyson Clugg
34f862bb3d Pylint cleanup. 2015-06-16 17:49:39 +10:00
Tyson Clugg
07ccc014bc Fix array aggregate for Django 1.8 2015-06-14 03:31:27 +10:00
Tyson Clugg
9b18e4833a Remove unused imports from AppConfig module. 2015-06-14 00:20:39 +10:00
Tyson Clugg
16e48e50be Don't barf on multiple invocations of greenify(). 2015-06-14 00:08:13 +10:00
Tyson Clugg
2ad5e28452 WIP on Django 1.8 compatibility. 2015-06-12 23:08:27 +10:00
Tyson Clugg
3cf47a928f Remove editor cruft from repo. 2015-06-10 17:48:29 +10:00
Tyson Clugg
a680a5a643 Add dddp.server Django app to serve Meteor app files. 2015-06-05 09:51:54 +10:00
Tyson Clugg
2cfb3ebe12 Pylint: reduce number of variables in method. 2015-06-05 09:38:15 +10:00
Tyson Clugg
65927e20e6 Don't emit change messages for migrations/ddp apps. 2015-06-05 09:37:36 +10:00
Tyson Clugg
1e000d2892 Show method input params after traceback if exception occurs. 2015-06-05 09:36:49 +10:00
Tyson Clugg
b8bf33a992 Remove shadown method definition. 2015-06-05 09:36:12 +10:00
Tyson Clugg
f02fba6d9f Refactor serialization to imporove performance (less DB queries) and add support for auth updating subscriptions. 2015-05-28 10:53:29 +10:00
Tyson Clugg
8327aac633 Use OrderedDict for geventwebsocket.Resource spec so geventwebsockets>=0.9.4 doesn't complain. 2015-05-27 15:16:07 +10:00
Tyson Clugg
a8b0883a39 Support optional on M2M fields with blank=True for schema generation. 2015-05-27 14:31:23 +10:00
Tyson Clugg
f5f127e9ba Check order of added/changed when emitting WebSocket frames, don't try to emit removed when client doesn't have the item. 2015-05-27 14:28:30 +10:00
Tyson Clugg
fa51d89575 Fix order of added/changed messages by deferring id checking until emitting WebSocket frames. 2015-05-27 12:48:16 +10:00
Tyson Clugg
8252a1ce68 Move test projects into path that can be imported post install. 2015-05-27 08:55:46 +10:00
Tyson Clugg
469b3cc901 Add support for SSL options and --settings=SETTINGS arg in dddp tool. 2015-05-27 08:53:17 +10:00
Tyson Clugg
c7ecd60ea7 Refactor pub/sub functionality to fix support for removed. 2015-05-21 12:51:43 +10:00
Tyson Clugg
f1d031313f Bugfix issue where DDP connection thread stops sending messages after changing item that has subscribers for other connections but not self. 2015-05-20 15:05:05 +10:00