예제 #1
0
    def form_valid(self, form):
        if form.instance.InputType.pk == settings.OPTIONS_ID:
            formOptions = GetFormOptions(self.request)
            instanceOptionGroup = GetInstanceOptionGroup(form)
            if instanceOptionGroup != None:
                for option in instanceOptionGroup.Options.all():
                    if option.Value in formOptions:
                        formOptions.remove(option.Value)
                    else:
                        instanceOptionGroup.Options.remove(option)
                        option.delete(keep_parents=True)
            else:
                instanceOptionGroup = OptionGroup(Name=form.instance.Text +
                                                  "Answer Group")
                instanceOptionGroup.save()
                form.instance.OptionGroup = instanceOptionGroup

            for newOption in formOptions:
                newOptionObject = Option(Value=newOption)
                newOptionObject.save()
                instanceOptionGroup.Options.add(newOptionObject)

            instanceOptionGroup.save()
            form.instance.OptionGroup = instanceOptionGroup
            form.save()
            return super(UpdateQuestion, self).form_valid(form)
        else:
            return super(UpdateQuestion, self).form_valid(form)
예제 #2
0
파일: views.py 프로젝트: tedoreve/vote
def append(request, id):
    """ 添加投票选项信息 """
    obj = get_object_or_404(model_class, id=id)
    if request.method == "POST":
        name = request.POST.get('option_name', '')
        if name:
            option = Option(subject=obj, name=name)
            option.save()
    return HttpResponseRedirect(reverse("table_detail", args=[obj.pk]))
예제 #3
0
파일: views.py 프로젝트: xunxuny/vote
def append(request, id):
    """ 添加投票选项信息 """
    obj = get_object_or_404(model_class, id=id)
    if request.method == "POST":
        name= request.POST.get('option_name','')
        if name:
            option=Option(subject=obj,name=name)
            option.save()
    return  HttpResponseRedirect(reverse("table_detail", args=[obj.pk]))
예제 #4
0
    def set(self, value, username):
        if self.type == 'bool':
            if value:
                value = '1'
            else:
                value = '0'

        try:
            opt = self.get(username)
            opt.data = value
        except:
            u = User.objects.get(username = username)
            opt = Option(optid=self.id, data=value, type=self.type, user=u)
        finally:
            opt.save()
예제 #5
0
    def set(self, value, username):
        if self.type == 'bool':
            if value:
                value = '1'
            else:
                value = '0'

        try:
            opt = self.get(username)
            opt.data = value
        except:
            u = User.objects.get(username=username)
            opt = Option(optid=self.id, data=value, type=self.type, user=u)
        finally:
            opt.save()
예제 #6
0
    def form_valid(self, form):
        if form.instance.InputType.pk == settings.OPTIONS_ID:

            newOptionGroup = OptionGroup(Name=form.instance.Text +
                                         ' Answer Group')
            newOptionGroup.save()
            for option in GetFormOptions(self.request):
                newOption = Option(Value=option)
                newOption.save()
                newOptionGroup.Options.add(newOption)
            newOptionGroup.save()
            form.instance.OptionGroup = newOptionGroup
            form.save()
            return super(NewQuestion, self).form_valid(form)

        return super(NewQuestion, self).form_valid(form)
예제 #7
0
def main(request):
    url = request.POST.get('url', '')
    type = request.POST.get('submit', '').lower()
    
    new_url = ''
    error = ''
    
    if type:
        if url.startswith('http://'):
            if type == 'shorten':
                # Get the current count from the database
                # This count keeps track of how many urls we have made
                # Increment this number and call make_url
                # Save it to the database and we are good to go
                try:
                    count_ref = Option.objects.get(title="count")
                except:
                    # No existing count so we must create it
                    count_ref = Option(title="count", value=0)
                    count_ref.save()
                    
                count_ref.value += 1
                count_ref.save()
                
                internal_url = make_url(count_ref.value)
                new_url = 'http://%s/%s' % (request.get_host(), 
                                            internal_url)
                r = Relation(internal_url=internal_url, external_url = url)
                r.save()
                
        else:
            error = "Invalid url. Urls must start with \"http://\""
    
    t = loader.get_template('index.html')
    c = Context({
        'new_url': new_url,
        'error': error,
    })
    
    return http.HttpResponse(t.render(c))