Commit Graph

40 Commits

Author SHA1 Message Date
Andrew Godwin
05b5fa5216 Fixed #482: Group_names not updated right in base classes. 2017-01-12 10:09:36 -08:00
Krukov D
8a93dfc401 Accept Connection at WebsocketConsumer (#467)
* Added accept at default behavior for websocket generic cbv and pass message instead of dict

* Fix flake8

* Use HttpClient Instead of Client

* Fix lsort
2017-01-09 10:08:00 -08:00
Andrew Godwin
cba54f9749 Fix up new demultiplexer/databinding interactions 2017-01-08 18:05:51 -08:00
raphael.boucher
33dbc4a184 Replace multiplexer with class demultiplexer
Update documentation
Ensure send is not available on demultiplexed consumer classes
Data binding needs fixing
2017-01-08 18:05:50 -08:00
AlexejStukov
cb0a9bef4b Use save's update_fields in serialize_data (#448)
* pass save's kwargs to serialize

So it can access update_fields

* added short explanation

* added missing kwargs

* use update_fields to filter fields to serialize

* save kwargs on self

* get signal_kwargs from self

* whitespace

* just save signal_kwargs on self+removed left over kwargs
2016-12-16 20:00:11 +00:00
Paul
f4f45dbb9f Sort imports and make Travis run isort (#425)
* Sort imports

* Make Travis run isort
2016-11-05 12:08:38 +01:00
AlexejStukov
4f517bb9fc check accept fields = '__all__' in serialize_data (#404) 2016-10-19 09:25:34 -07:00
MartinArroyo
12ca598d6b Adds 'exclude' option to data binding (#400) 2016-10-16 22:58:02 -07:00
Jeremy Spencer
51561273ae Fix for issue 398. Converts channels.binding.websockets.WebsocketBinding.fields to list before comparing to ['__all__'] to ensure most common data structures do not cause unexpected failures (i.e. ('__all__',), '__all__') (#399) 2016-10-14 18:54:46 -07:00
Krukov D
075897d910 Inbound tests (#351)
* Added groups as Binding attr for easy groups_names definition

* Binding: inbound - updating fields that only in fields attribute

* Added tests for inbound part of binding #343

* Fix for flake8 checker

* Revert "Added groups as Binding attr for easy groups_names definition"

This reverts commit 009b4adbee534d4ccbea191ce2523a0edb09d407.

* Using group_names at inbound tests
2016-09-12 11:27:42 +01:00
AlexejStukov
fcb2875b53 fixed usage of group_names in *_change_receiver (#306)
* fixed usage of group_names in *_change_receiver

group_names was missing second arg (action)

* fixed group_names to include action

* made group_names a classmethod
2016-08-23 10:13:46 -07:00
Tyson Clugg
57fa3bed67 Implement the data binding behaviour from Django DDP. (#301)
* Implement the data binding behaviour from Django DDP.

Correct dispatch of create/update/delete according to how group_names change
when compared between pre and post save/delete.

* Fix tests for databinding improvements.
2016-08-16 16:49:18 +10:00
Francis Mwangi
fb2e9320c2 fixed typo (#296) 2016-08-14 12:08:00 +10:00
AlexejStukov
0f1ac3d08b Fix member serialization in WebsocketBindingWithMembers (#292)
* Fix member serialization in WebsocketBindingWithMembers

* pep fixes

* allow usage of 'dot'-notation in send_members

* replace dots for dictionary

* single quotes
2016-08-10 21:55:51 -07:00
AlexejStukov
0bc1cee103 Easy application of decorators to Bindings (#281)
* Added get_handler

Added a get_handler method that applies decorators to the consumer-classmethod

* added imports for decorators

* Added get_handler to WebsocketBinding

* Fixed missing import

* channel_session_user defaults to True

* removed user-transfer from http

would only work in a connect-method

* removed unused import
2016-08-05 00:12:59 -07:00
Andrew Godwin
4724ee4529 Mark WebsocketBindingWithMembers as abstract 2016-07-28 11:12:51 +01:00
AlexejStukov
77f41ce1a9 Added WebsocketBindingWithMembers (#262)
* Added WebsocketBindingWithMembers

WebsocketBindingWithMembers inherits WebsocketBinding and additionally enables sending of member variables, properties and methods.

* pep fixes

* pep fixes

* Changed to Mixin

More flexible this way; also checking if members are callable now, not just a try-except.

* moved BindingWithMembersMixin to base.py

* moved BindingWithMembersMixin to base.py

* undo moving to base.py

* undo moving to base.py; undo Mixin

* use DjangoJSONEncoder to serialize members

* missing self

* removed nasty whitespace
2016-07-28 10:55:28 +01:00
Krukov Dima
05b0073d8e Fix calling class registration 2016-07-24 13:11:58 +00:00
Andrew Godwin
a4c8602ea1 Move fields check to register so it happens on server start 2016-07-22 21:40:51 -04:00
AlexejStukov
4625266db6 raise error if self.fields is empty 2016-07-22 08:17:49 +02:00
AlexejStukov
6eda634746 whitespace 2016-07-21 21:08:47 +02:00
AlexejStukov
d07600f04b Security fix - every field of a model is send - even password
Atm WebsocketBinding sends every field of a model, even the password of a user. Users of the class should have to think about which fields they want to send to the user. Also added a more intuitive option for sending all fields.
2016-07-21 21:06:25 +02:00
Andrew Godwin
435fd89be8 Merge pull request #261 from AlexejStukov/patch-8
move encoding from serialize to trigger_outbound
2016-07-21 11:30:48 -04:00
AlexejStukov
16c80c3900 fixed whitespace 2016-07-21 09:52:43 +02:00
AlexejStukov
014afb8b63 fixed whitespace 2016-07-21 09:51:51 +02:00
AlexejStukov
38430b41d1 add encode to WbesocketBinding 2016-07-21 09:33:28 +02:00
AlexejStukov
d7b99fa935 added encode to Binding 2016-07-21 09:29:44 +02:00
AlexejStukov
74c72f0126 move assert where it is needed 2016-07-21 08:55:30 +02:00
AlexejStukov
6104f89925 added encoding and self.stream-check to trigger_outbound 2016-07-21 08:53:24 +02:00
AlexejStukov
1cca353e51 removed encoding from serialize 2016-07-21 08:46:29 +02:00
AlexejStukov
bf5b9d31a0 removed whitespace in blank line 2016-07-21 08:28:06 +02:00
AlexejStukov
d9c1559a90 Register Bindings if they are declared after ready has run
If the declaration of a binding happens after the ``ready``-method of channels has run, the binding was not registered. With this it will be registered at declaration. This also ensures that no registration happens before the ``ready``-method runs.
2016-07-21 08:18:15 +02:00
AlexejStukov
bb74c80b71 add a modelname to the payload dict
see #256
2016-07-20 18:21:23 +02:00
Andrew Godwin
f1e8eb66e6 Remove unused import 2016-07-19 07:29:36 -04:00
Andrew Godwin
4370f043f7 Make group_send/demultiplex encode classmethods 2016-07-18 23:24:28 -04:00
Andrew Godwin
cbe6afff85 Why not rewrite binding into multiplexers on a Monday night? 2016-07-18 23:12:44 -04:00
Andrew Godwin
5d2354c71b Provide default serializers for the JSON one 2016-07-18 14:57:19 -04:00
Andrew Godwin
8a107a5434 Fix QA error 2016-07-14 23:53:08 -07:00
Andrew Godwin
15cc5571da Fix a few model bits on the bindings 2016-07-14 23:34:12 -07:00
Andrew Godwin
62d4782dbd First version of binding code 2016-07-14 23:15:57 -07:00