예제 #1
0
 def form_valid(self, form):
     obj = self.object
     feedback = form.save(commit=False)
     if obj.uid != feedback.target_uid:
         # Mismatch target_uid
         return JsonResponse({'status': 2, 'reason': _('Illegal Input')})
     feedback.user = self.request.user
     status = form.cleaned_data['status']
     if status == 'APPROVE':
         conflict = is_conflict(obj.activity_time_from,
                                obj.activity_time_to, obj.site)
         if conflict:
             return JsonResponse({
                 'status':
                 3,
                 'reason':
                 _('Conflict with existing '
                   'reservation')
             })
         obj.status = RESERVATION_APPROVED
     elif status == 'EDITTING':
         obj.status = RESERVATION_EDITTING
     elif status == 'TERMINATED':
         obj.status = RESERVATION_TERMINATED
     obj.save()
     feedback.save()
     return JsonResponse({'status': 0})
예제 #2
0
    def form_valid(self, form):
        site = form.cleaned_data['site']
        activity_time_from = form.cleaned_data['activity_time_from']
        activity_time_to = form.cleaned_data['activity_time_to']

        conflict = is_conflict(activity_time_from, activity_time_to, site)
        if conflict:
            context = self.get_context_data()
            context['form'] = form
            html = render_to_string(self.template_name,
                                    request=self.request,
                                    context=context)
            return JsonResponse({
                'status':
                2,
                'reason':
                _('Conflict with existing '
                  'reservation'),
                'html':
                html
            })

        form.instance.user = self.request.user
        self.object = form.save()
        assign_perms('reservation',
                     self.request.user,
                     self.object,
                     perms=['update', 'view'])
        assign_perms('reservation',
                     self.object.workshop.group,
                     self.object,
                     perms=['update', 'view'])
        return JsonResponse({'status': 0, 'redirect': self.success_url})
예제 #3
0
    def form_valid(self, form):
        site = form.cleaned_data['site']
        activity_time_from = form.cleaned_data['activity_time_from']
        activity_time_to = form.cleaned_data['activity_time_to']

        conflict = is_conflict(activity_time_from, activity_time_to, site)
        if conflict:
            context = self.get_context_data()
            context['form'] = form
            return HttpResponseForbidden()
        self.object.status = RESERVATION_SUBMITTED
        self.object = form.save()
        return HttpResponseRedirect(self.get_success_url())
예제 #4
0
 def form_valid(self, form):
     obj = self.object
     feedback = form.save(commit=False)
     if obj.uid != feedback.target_uid:
         # Mismatch target_uid
         return HttpResponseForbidden()
     feedback.user = self.request.user
     status = form.cleaned_data['status']
     if status == 'APPROVE':
         conflict = is_conflict(obj.activity_time_from,
                                obj.activity_time_to, obj.site)
         if conflict:
             return HttpResponseForbidden()
         obj.status = RESERVATION_APPROVED
     elif status == 'EDITTING':
         obj.status = RESERVATION_EDITTING
     elif status == 'TERMINATED':
         obj.status = RESERVATION_TERMINATED
     obj.save()
     feedback.save()
     return HttpResponseRedirect(self.get_success_url())
예제 #5
0
    def form_valid(self, form):
        site = form.cleaned_data['site']
        activity_time_from = form.cleaned_data['activity_time_from']
        activity_time_to = form.cleaned_data['activity_time_to']

        conflict = is_conflict(activity_time_from, activity_time_to, site)
        if conflict:
            context = self.get_context_data()
            context['form'] = form
            return HttpResponseForbidden()

        form.instance.user = self.request.user
        self.object = form.save()
        assign_perms('reservation',
                     self.request.user,
                     self.object,
                     perms=['update', 'view'])
        assign_perms('reservation',
                     self.object.workshop.group,
                     self.object,
                     perms=['update', 'view'])
        return HttpResponseRedirect(self.get_success_url())
예제 #6
0
    def form_valid(self, form):
        site = form.cleaned_data['site']
        activity_time_from = form.cleaned_data['activity_time_from']
        activity_time_to = form.cleaned_data['activity_time_to']

        conflict = is_conflict(activity_time_from, activity_time_to, site)
        if conflict:
            context = self.get_context_data()
            context['form'] = form
            html = render_to_string(self.template_name,
                                    request=self.request,
                                    context=context)
            return JsonResponse({
                'status':
                2,
                'reason':
                _('Conflict with existing '
                  'reservation'),
                'html':
                html
            })
        self.object.status = RESERVATION_SUBMITTED
        self.object = form.save()
        return JsonResponse({'status': 0, 'redirect': self.success_url})