From: yomguy Date: Wed, 18 Jul 2012 00:29:22 +0000 (+0200) Subject: begin json formatting.. X-Git-Tag: 0.7-dev^2~120 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=a997eb8ae37360153901fdcdb11c41055c386acf;p=teleforma.git begin json formatting.. --- diff --git a/teleforma/models.py b/teleforma/models.py index 4795a38f..a334e873 100755 --- a/teleforma/models.py +++ b/teleforma/models.py @@ -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') diff --git a/teleforma/views.py b/teleforma/views.py index 350fe56e..a08393ba 100755 --- a/teleforma/views.py +++ b/teleforma/views.py @@ -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