예제 #1
0
def table_change(request,table_name,obj_id):
    print("table change:",table_name ,obj_id)
    if table_name in enabled_admins:
        #print(enabled_admins[table_name])
        obj = enabled_admins[table_name].model.objects.get(id=obj_id)
        #print("obj....change",obj)
        fields = []
        for field_obj in enabled_admins[table_name].model._meta.fields:
            if field_obj.editable :
                fields.append(field_obj.name)

        for field_obj in enabled_admins[table_name].model._meta.many_to_many:
            fields.append(field_obj.name)
        #print('fields', fields)
        model_form = forms.create_form(enabled_admins[table_name].model, fields,enabled_admins[table_name],request=request)

        if request.method == "GET":
            form_obj = model_form(instance=obj)

        elif request.method == "POST":
            print("post:",request.POST)
            form_obj = model_form(request.POST,instance=obj)
            if form_obj.is_valid():
                form_obj.save()

        return render(request,'king_admin/table_change.html',
                      {'form_obj':form_obj,
                      'active_node': '/configure/index/',
                      'model_name':enabled_admins[table_name].model._meta.verbose_name,
                      'model_db_table': enabled_admins[table_name].model._meta.db_table,
                       'admin_class':enabled_admins[table_name]

                        })
    else:
        raise Http404("url %s not found" % table_name )
예제 #2
0
def table_add(request, table_name):
    if table_name in enabled_admins:
        fields = []
        for field_obj in enabled_admins[table_name].model._meta.fields:
            if field_obj.editable:
                fields.append(field_obj.name)
        for field_obj in enabled_admins[table_name].model._meta.many_to_many:
            fields.append(field_obj.name)

        model_form = forms.create_form(enabled_admins[table_name].model,
                                       fields)
        if request.method == "GET":
            form_obj = model_form()
        elif request.method == "POST":
            form_obj = model_form(request.POST)
            if form_obj.is_valid():
                form_obj.save()

        return render(
            request, 'king_admin/table_add.html', {
                'form_obj': form_obj,
                'active_node': '/configure/index/',
                'model_name':
                enabled_admins[table_name].model._meta.verbose_name,
                'model_db_table':
                enabled_admins[table_name].model._meta.db_table,
                'admin_class': enabled_admins[table_name]
            })

    else:
        raise Http404("url %s not found" % table_name)
예제 #3
0
파일: views.py 프로젝트: triaquae/CrazyEye
def table_change(request,table_name,obj_id):
    print("table change:",table_name ,obj_id)
    if table_name in enabled_admins:
        #print(enabled_admins[table_name])
        obj = enabled_admins[table_name].model.objects.get(id=obj_id)
        #print("obj....change",obj)
        fields = []
        for field_obj in enabled_admins[table_name].model._meta.fields:
            if field_obj.editable :
                fields.append(field_obj.name)

        for field_obj in enabled_admins[table_name].model._meta.many_to_many:
            fields.append(field_obj.name)
        #print('fields', fields)
        model_form = forms.create_form(enabled_admins[table_name].model, fields,enabled_admins[table_name])

        if request.method == "GET":
            form_obj = model_form(instance=obj)

        elif request.method == "POST":
            print("post:",request.POST)
            form_obj = model_form(request.POST,instance=obj)
            if form_obj.is_valid():
                form_obj.save()

        return render(request,'king_admin/table_change.html',
                      {'form_obj':form_obj,
                      'active_node': '/configure/index/',
                      'model_name':enabled_admins[table_name].model._meta.verbose_name,
                      'model_db_table': enabled_admins[table_name].model._meta.db_table,
                       'admin_class':enabled_admins[table_name]

                        })
    else:
        raise Http404("url %s not found" % table_name )
예제 #4
0
def table_add(request, table_name):
    print("request path:", request.path)
    if table_name in enabled_admins:
        fields = []
        for field_obj in enabled_admins[table_name].model._meta.fields:
            if field_obj.editable:
                fields.append(field_obj.name)
        for field_obj in enabled_admins[table_name].model._meta.many_to_many:
            fields.append(field_obj.name)
        if enabled_admins[table_name].add_form == None:
            model_form = forms.create_form(enabled_admins[table_name].model,
                                           fields,
                                           enabled_admins[table_name],
                                           form_create=True,
                                           request=request)
        else:  #this admin has customized  creation form defined
            model_form = enabled_admins[table_name].add_form

        if request.method == "GET":
            form_obj = model_form()
        elif request.method == "POST":
            print(request.POST)
            form_obj = model_form(request.POST)
            if form_obj.is_valid():
                form_obj.save()
                print("form obj:", form_obj.cleaned_data, form_obj.instance.id)
                redirect_url = '/%s/change/%s' % (request.path.strip("/add"),
                                                  form_obj.instance.id)
                if request.POST.get(
                        '_continue') is None:  #save and add another button
                    return redirect(redirect_url)

                #print("----continue....",request.POST)
                form_obj = model_form()

        return render(
            request, 'king_admin/table_add.html', {
                'form_obj': form_obj,
                'active_node': '/configure/index/',
                'model_name':
                enabled_admins[table_name].model._meta.verbose_name,
                'model_db_table':
                enabled_admins[table_name].model._meta.db_table,
                'admin_class': enabled_admins[table_name]
            })

    else:
        raise Http404("url %s not found" % table_name)
예제 #5
0
파일: views.py 프로젝트: triaquae/CrazyEye
def table_add(request,table_name):
    print("request path:",request.path)
    if table_name in enabled_admins:
        fields = []
        for field_obj in enabled_admins[table_name].model._meta.fields:
            if field_obj.editable:
                fields.append(field_obj.name)
        for field_obj in enabled_admins[table_name].model._meta.many_to_many:
            fields.append(field_obj.name)
        if enabled_admins[table_name].add_form == None:
            model_form = forms.create_form(enabled_admins[table_name].model, fields,enabled_admins[table_name],form_create=True)
        else: #this admin has customized  creation form defined
            model_form = enabled_admins[table_name].add_form

        if request.method == "GET":
            form_obj = model_form()
        elif request.method == "POST":
            form_obj = model_form(request.POST)
            if form_obj.is_valid():
                form_obj.save()
                print("form obj:",form_obj.cleaned_data,form_obj.instance.id)
                redirect_url = '/%s/change/%s' %(request.path.strip("/add"), form_obj.instance.id)
                return redirect(redirect_url)
            if request.POST.get('_continue') is not None: #save and add another button
                form_obj = model_form()

        return render(request, 'king_admin/table_add.html',
                      {'form_obj': form_obj,
                       'active_node': '/configure/index/',
                       'model_name': enabled_admins[table_name].model._meta.verbose_name,
                       'model_db_table':enabled_admins[table_name].model._meta.db_table,
                       'admin_class': enabled_admins[table_name]
                       })

    else:
        raise Http404("url %s not found" % table_name)