Beispiel #1
0
 def post(self, request, *args, **kwargs):
     result = None
     project_title = request.GET.get('ca_name', None)
     project_url = request.GET.get('ca_id', None)
     form = self.form_class(request.POST)
     date_time = request.POST.get('timestamp', '')
     print('date_time:', date_time)
     if form.is_valid():
         # <process form cleaned data>
         data = form.cleaned_data
         if form.data.get('send', ''):
             actor = Agent(name=data['actor_name'],
                           mbox='mailto:{}'.format(data['actor_email']))
             verb_id = data['verb_id']
             verb = Verb(
                 id=verb_id,
                 display=LanguageMap(
                     **xapi_verbs_by_id[verb_id]['display']),
             )
             object_language = data['object_language']
             activity_definition = ActivityDefinition(
                 name=LanguageMap(**{object_language: data['object_name']}),
                 type=data['activity_type'],
             )
             if data['object_description']:
                 activity_definition.description = LanguageMap(
                     **{object_language: data['object_description']})
             object = Activity(
                 id=make_uri(data['object_id']),
                 definition=activity_definition,
             )
             context = {'platform': data['platform']}
             if data['context_object_name'] and data['context_object_id']:
                 context_activity_definition = ActivityDefinition(
                     name=LanguageMap(
                         **{object_language: data['context_object_name']}),
                     type=data['context_activity_type'],
                 )
                 context_activity_object = Activity(
                     id=make_uri(data['context_object_id']),
                     definition=context_activity_definition,
                 )
                 context_activities = {
                     data['context_activity_relationship']:
                     context_activity_object
                 }
                 context['context_activities'] = context_activities
             """
             authority = Agent(
                 name=data['authority_name'],
                 mbox='mailto:{}'.format(data['authority_email'])
             )
             """
             timestamp = data['timestamp']
             print('timestamp 1:', timestamp)
             """
             timestamp = datetime.strptime(date_time, "%d/%m/%Y %H:%M")
             print('timestamp 2:', timestamp)
             """
             statement = Statement(actor=actor,
                                   verb=verb,
                                   object=object,
                                   context=context,
                                   timestamp=timestamp)
             result = send_statement(statement)
     recipe_ids = request.POST.getlist('recipe_ids')
     if recipe_ids:
         form.fields['verb_id'].choices = get_verb_choices(recipe_ids)
         form.fields['activity_type'].choices = get_activity_choices(
             recipe_ids)
     if result:
         try:
             result = json.dumps(json.loads(result.to_json()), indent=2)
         except:
             pass
     return render(
         request, self.template_name, {
             'form': form,
             'result': result,
             'project_title': project_title,
             'project_url': project_url
         })