]> git.parisson.com Git - teleforma.git/commitdiff
begin json formatting..
authoryomguy <yomguy@parisson.com>
Wed, 18 Jul 2012 00:29:22 +0000 (02:29 +0200)
committeryomguy <yomguy@parisson.com>
Wed, 18 Jul 2012 00:29:22 +0000 (02:29 +0200)
teleforma/models.py
teleforma/views.py

index 4795a38f06a282652e0bf9bdceb0512872e63a64..a334e873a9c75bc7d954bb41fdd06d72d9ddf8bf 100755 (executable)
@@ -94,6 +94,7 @@ class Department(Model):
     description     = CharField(_('description'), max_length=255, blank=True)
     organization    = ForeignKey('Organization', related_name='department',
                                  verbose_name=_('organization'))
+    domain          = CharField(_('Master domain'), max_length=255, blank=True)
 
     def __unicode__(self):
         return self.name
@@ -240,6 +241,12 @@ class Conference(Model):
                 ]
         return dict
 
+    def to_id_dict(self):
+        data = {'id': self.public_id, 'course_code': self.course.code,
+                'course_type': self.course_type.name, 'professor_id': self.professor.user.username,
+                'session': self.session, 'room': self.room.name,  }
+        return data
+
     class Meta:
         db_table = app_label + '_' + 'conference'
         verbose_name = _('conference')
index 350fe56ea6e89f63ef570223f8fbb23f2f93a172..a08393bafa9eccae4e3a09723c646832e578a487 100755 (executable)
@@ -3,6 +3,8 @@
 import mimetypes
 import datetime
 import random
+import urllib2
+import json
 
 from jsonrpc import jsonrpc_method
 
@@ -408,7 +410,7 @@ class ConferenceRecordView(FormView):
         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 = Course.objects.get(code=conference['course_code'])
                 c.course_type = CourseType.objects.get(name=conference['course_type'])
                 user = User.objects.get(username=conference['professor_id'])
                 c.session = conference['session']
@@ -435,6 +437,17 @@ class ConferenceRecordView(FormView):
         else:
             raise 'Error : Bad Conference dictionnary'
 
+    def push(self, conference):
+        domain = conference.course.department.domain
+        data = {"id":"jsonrpc", "params":"'%s'", "method":"'teleforma.add_conference'",
+                    "jsonrpc":"1.0"} % conference.to_id_dict()
+        jdata = json.dumps(data)
+        try:
+            urllib2.urlopen('http://' + domain + '/', jdata)
+        except:
+            pass
+
+
 class UsersView(ListView):
 
     model = User