]> git.parisson.com Git - teleforma.git/commitdiff
add create and update JSON method for conferences
authoryomguy <yomguy@parisson.com>
Tue, 17 Jul 2012 23:57:10 +0000 (01:57 +0200)
committeryomguy <yomguy@parisson.com>
Tue, 17 Jul 2012 23:57:10 +0000 (01:57 +0200)
teleforma/views.py

index 0a174b22830f1dbfa63aaeab08b689adea2ba26c..350fe56ea6e89f63ef570223f8fbb23f2f93a172 100755 (executable)
@@ -404,6 +404,36 @@ class ConferenceRecordView(FormView):
     def dispatch(self, *args, **kwargs):
         return super(ConferenceRecordView, self).dispatch(*args, **kwargs)
 
+    def create(self, data):
+        if isinstance(conference, dict):
+            conf, c = Conference.objects.get_or_create(public_id=conference['id'])
+            if c:
+                c.course = Course.objects.get(code=conference['course_id'])
+                c.course_type = CourseType.objects.get(name=conference['course_type'])
+                user = User.objects.get(username=conference['professor_id'])
+                c.session = conference['session']
+                c.professor = Professor.objects.get(user=user)
+                c.room = Room.objects.get(name=conference['room'])
+                c.save()
+                #TODO: dates
+        else:
+            raise 'Error : Bad Conference dictionnary'
+
+    @jsonrpc_method('teleforma.update_conferences')
+    def update(request, data):
+        if isinstance(data, list):
+            for conference in data:
+                self.create(conference)
+        else:
+            raise 'Error : Bad Conference dictionnary list'
+
+    @jsonrpc_method('teleforma.add_conference')
+    def add(request, data):
+        # playlist_resource must be a dict
+        if isinstance(data, dict):
+            self.create(data)
+        else:
+            raise 'Error : Bad Conference dictionnary'
 
 class UsersView(ListView):