Esempio n. 1
0
    def post(self, request, *args, **kwargs):
        form = None
        if kwargs.has_key('pk'):
            try:
                rs = ReadingSystem.objects.get(id=kwargs['pk'])
                form = ReadingSystemForm(request.POST, instance = rs)
            except ReadingSystem.DoesNotExist:
                return render(request, "404.html", {})
        else:
            form = ReadingSystemForm(request.POST)

        if form.is_valid():
            obj = form.save(commit = False)
            if hasattr(obj, 'user') == False:
                obj.user = request.user
            obj.save()
            return redirect("/manage/")
        else:
            messages.add_message(request, messages.INFO, 'Please complete all required fields.')
            if kwargs.has_key('pk'): #if we were editing an existing RS
                return redirect("/rs/{0}/edit/".format(kwargs['pk']))
            else:
                # pass the user's form values in the query string
                # so they don't have to retype everything
                clean_data = form.clean()
                qstr = urlencode(clean_data)
                return redirect("/rs/new/?{0}".format(qstr))
Esempio n. 2
0
 def get(self, request, *args, **kwargs):
     form = None
     title = ""
     action_url = ""
     if kwargs.has_key('pk'):
         try:
             rs = ReadingSystem.objects.get(id=kwargs['pk'])
         except:
             return render(request, "404.html", {})
         can_edit = permissions.user_can_edit_reading_system(request.user, rs)
         if can_edit == False:
             messages.add_message(request, messages.INFO, 'You do not have permission to edit that reading system.')
             return redirect("/manage/")
         form = ReadingSystemForm(instance = rs)
         action_url = "/rs/{0}/edit/".format(rs.id)
         title = "Edit Reading System"
     else:
         form = ReadingSystemForm()
         # read the query string for initial values
         for fieldname in form.fields.keys():
             value = request.GET.get(fieldname, '')
             form.initial[fieldname] = value
         action_url = "/rs/new/"
         title = "Add Reading System"
     return render(request, self.template_name, {'rs_form': form,
         "title": title, "action_url": action_url})