当前位置: 首页>>代码示例>>Python>>正文


Python Page.form_action方法代码示例

本文整理汇总了Python中packages.bin.bin.Page.form_action方法的典型用法代码示例。如果您正苦于以下问题:Python Page.form_action方法的具体用法?Python Page.form_action怎么用?Python Page.form_action使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在packages.bin.bin.Page的用法示例。


在下文中一共展示了Page.form_action方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: subscription

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def subscription(request, pk=None, method=None):

    # check if root login
    if request.session['auth_username'] != 'root': 
        return HttpResponse(response_success(route='#hr/personnel/'))

    s = request.session
    base_url = '/pp-license/'
    second_base = 'subscription/'
    base_template = 'system/'

    page = Page(request)
    page.title = 'License Management'
    page.icon = 'fa fa-unlock-alt'
    page.form_name = 'subscriptionForm'
    page.breadcrumbs = ['License Management', 'Subscription']
    errors = []

    page.user = request.session['auth_username']

    # query table list
    obj = Subscription.objects.filter(license__id=pk)

    # login url processing
    if method is None or (method != 'new' and method != 'update'): 
        instance = Subscription()
        form = FormSubscription()
        template = base_template + 'snippets/list.html'

    else: 
        instance = Subscription()
        instance.license = License.objects.get(pk=pk)
        form = FormSubscription(instance=instance)
        page.form_action = base_url + second_base + 'new/' + str(pk) + '/'
        template = base_template + 'snippets/manage.html'

    obj_settings = [
        {'link': base_url+'update/', 'icon': ActionButton.edit},
        {'link': base_url+'delete/', 'icon': ActionButton.delete},
    ]

    table = Table()
    table.cols = ['License', 'Expiry']
    table.rows = []
    for val in obj: 

        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': val.license},
                {'field': val.expiry}
            ]
        })

    # CREATE & UPDATE
    if request.method == "POST": 

        form = FormSubscription(request.POST, instance=instance)

        if form.is_valid(): 
            # do method to process
            posts = request.POST
            for post in posts: 
                # skip the many to many fields
                if hasattr(instance, post): 
                    setattr(instance, post, form.cleaned_data[post])

        # non field specific errors
        page.non_field_errors = errors

        errors += format_form_error(form)

        # if not errors and not form.errors:
        if not errors: 
            Subscription.objects.filter(license__id=pk).update(status=0)
            instance.save()

            return HttpResponse(response_success(route=base_url+second_base))

        else: 
            return HttpResponse(response_error(response=[errors]))

    # render to browser
    return render_to_response(
        template,
        {'s': s, 'form': form, 'page': page, 'table': table, 'obj': obj, 'settings': obj_settings},
        context_instance=RequestContext(request)
    )
开发者ID:ushiang,项目名称:onc,代码行数:90,代码来源:views.py

示例2: uc_user

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def uc_user(request):

    s = Auth().is_auth(request)
    if not s: 
        return Auth.routeLogin

    second_base = 'uc_user/'

    page = Page(request)
    page.title = 'Users\' Class'
    page.icon = 'fa fa-list-alt'
    page.form_name = 'usersClass'
    page.breadcrumbs = ['Privileges', 'Associated User Class']

    obj = UserClassTies.pp.filter(status__exact=1)

    #url processing
    instance = UserClassTies()
    form = forms.FormUserClassTies(instance=instance)
    page.form_action = base_url + second_base + 'new/'
    template = base_template + 'manage.html'

    #script for form
    page.script = '''
    <script>

    $(document).ready(function(){
        $('#id_user_class').tokenInput('/bin/json/system/privilege/user_class/',
            {theme: 'wit', tokenLimit: 100, hintText: 'Start typing name'});
        $('#id_user').tokenInput('/bin/json/system/user/',
            {theme: 'wit', tokenLimit: 100, hintText: 'Start typing name'});
    });
    </script>'''

    # CREATE & UPDATE
    if request.method == "POST": 

        errors = []

        # check for errors
        if request.POST['user_class'] == "": 
            errors.append("Please select at least one user class")

        if request.POST['user'] == "": 
            errors.append("Please select at least one users")

        # conclude
        if not errors: 

            # iterate through values and save individually
            for x in request.POST['user_class'].split(','):
                c_user_class = UserClass.objects.get(pk=x)
                for y in request.POST['user'].split(','): 
                    c_user = Users.pp.get(pk=y)

                    UserClassTies.pp.filter(user=c_user, user_class__module=c_user_class.module).delete()
                    UserClassTies.pp.create(user_class=c_user_class, user=c_user)

            response = 'Saved successfully'
            return HttpResponse(response_success(route=base_url + 'user_class/', response=response))

        else: 
            return HttpResponse(response_error(response=[errors]))

    #render to browser
    return render_to_response(
        template,
        {'s': s, 'form': form, 'page': page, 'obj': obj},
        context_instance=RequestContext(request)
    )
开发者ID:pukonu,项目名称:estate,代码行数:72,代码来源:privilege.py

示例3: system_license

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def system_license(request, pk=None, method=None):

    # check if root login
    if request.session['auth_username'] != 'root': 
        return HttpResponse(response_success(route='#hr/personnel/'))

    s = request.session

    base_url = '/pp-license/'
    second_base = ''
    base_template = 'system/'

    page = Page(request)
    page.title = 'License Management'
    page.icon = 'fa fa-unlock-alt'
    page.form_name = 'licenseForm'
    page.breadcrumbs = ['License Management', 'Manage']
    errors = []

    page.user = request.session['auth_username']

    # query table list
    obj_list = License.objects.all()

    # search logic
    q = request.GET.get('q')
    if q: 
        search_query = get_query(q, ['company__name', 'company_name', 'sys', 'lid'])
        obj_list = obj_list.filter(search_query)

    # build pagination
    page, obj = paginate(page, obj_list, request, q)

    # login url processing
    if method is None or (method != 'new' and method != 'update'): 
        instance = License()
        form = FormLicense()
        template = base_template + 'snippets/list.html'
    elif pk is not None: 
        instance = License.objects.get(pk=pk)
        form = FormLicense(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + 'update/'+str(pk)+'/'
        template = base_template + 'snippets/manage.html'
    else: 
        instance = License()
        form = FormLicense(instance=instance)
        page.form_action = base_url + 'new/'
        template = base_template + 'snippets/manage.html'

    obj_settings = [
        {'link': base_url+'update/', 'icon': ActionButton.edit},
        {'link': base_url+'delete/', 'icon': ActionButton.delete},
    ]

    table = Table()
    table.cols = ['Company', 'Company Secret Key', 'License Number', 'Expiry']
    table.rows = []
    for val in obj: 

        try: 
            expiry = val.license_subscription.filter(status=1)[0]
        except IndexError: 
            expiry = None

        expiry = "<a href='#pp-license/subscription/new/{pk}/'>{expiry}</a>".format(expiry=expiry, pk=val.pk)

        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': val.company_name},
                {'field': val.sys},
                {'field': val.lid},
                {'field': expiry}
            ]
        })

    # maintain autocomplete state
    try: 
        instance_var = instance.modules.all()
    except (AttributeError, ValueError): 
        instance_var = []

    # script for autocomplete
    page.script = autocomplete_state(
        instance_var=instance_var,
        queryset=Module.objects.all(),
        url='/bin/json/system/modules/',
        element='id_modules',
        token=20,
    )

    # CREATE & UPDATE
    if request.method == "POST":

        form = FormLicense(request.POST, request.FILES, instance=instance)
        modules = []

        if form.is_valid(): 
            # do method to process
            posts = request.POST
#.........这里部分代码省略.........
开发者ID:ushiang,项目名称:onc,代码行数:103,代码来源:views.py

示例4: user_class

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def user_class(request, pk=None, method=None):

    s = Auth().is_auth(request)
    if not s: 
        return Auth.routeLogin

    second_base = 'user_class/'

    page = Page(request)
    page.title = 'User Class'
    page.icon = 'glyphicons glyphicons-parents'
    page.form_name = 'applicationUserClass'
    page.breadcrumbs = ['Privileges', 'User Class']
    errors = []

    obj_list = UserClass.objects.filter(status__exact=1)

    #search logic
    q = request.GET.get('q')
    if q: 
        search_query = get_query(q, ['name'])
        obj_list = obj_list.filter(search_query)

    #build pagination
    page, obj = paginate(page, obj_list, request, q)

    #login url processing
    if method is None or method == 'index': 
        instance = UserClass()
        form = forms.FormUserClass()
        template = base_template + 'list.html'
    elif pk is not None: 
        instance = UserClass.objects.get(pk=pk)
        form = forms.FormUserClass(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + second_base + 'update/'+str(pk)+'/'
        template = base_template + 'manage.html'
    else: 
        instance = UserClass()
        form = forms.FormUserClass(instance=instance)
        page.form_action = base_url + second_base + 'new/'
        template = base_template + 'manage.html'

    obj_settings = [
        {'link': base_url+second_base+'update/', 'icon': ActionButton.edit},
        {'link': base_url+'user_class-delete/', 'icon': ActionButton.delete},
    ]

    table = Table()
    table.cols = ['Module', 'Name', 'Privilege', 'Users']
    table.rows = []
    for val in obj: 

        # fetch privileges
        tmp = val.user_class_users.filter(sys=request.session['sys'], lid=request.session['lid'])[: 25]
        assoc_users = ""
        for x in tmp: 
            assoc_users += "<a href='#"+base_url+"uc_user-delete/%s/' class='text-danger'>%s</a>, " % \
                           (x.id, "%s [%s %s]" % (x.user.username, x.user.profile.firstname, x.user.profile.lastname))

        # fetch associated users
        tmp = val.user_class_privilege.all()
        assoc = ""
        for x in tmp: 
            assoc += "<a href='#"+base_url+"flush/%s/' class='text-danger'>%s</a><br/>" % (x.id, x.manifest.name)

        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': val.module.name},
                {'field': val.name},
                {'field': assoc},
                {'field': assoc_users}
            ]
        })

    # CREATE & UPDATE
    if request.method == "POST": 

        form = forms.FormUserClass(request.POST, instance=instance)
        if form.is_valid(): 
            #do method to process
            posts = request.POST
            for post in posts: 
                if hasattr(instance, post): 
                    setattr(instance, post, form.cleaned_data[post])

        # non field specific errors
        page.non_field_errors = errors

        errors += format_form_error(form)

        if not errors: 
            instance.save()
            response = 'Saved successfully'
            return HttpResponse(response_success(route=base_url + second_base, response=response))

        else: 
            return HttpResponse(response_error(response=[errors]))

    #render to browser
#.........这里部分代码省略.........
开发者ID:pukonu,项目名称:estate,代码行数:103,代码来源:privilege.py

示例5: manifest

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def manifest(request, pk=None, method=None): 

    s = Auth().is_auth(request)
    if not s: 
        return Auth.routeLogin

    second_base = 'manifest/'

    page = Page(request)
    page.title = 'Privilege Manifest'
    page.icon = 'fa fa-list-alt'
    page.form_name = 'privilegeManifest'
    page.breadcrumbs = ['Privileges', 'Manifest']
    errors = []

    obj_list = PrivilegeManifest.objects.filter(status__exact=1).order_by('module__name', 'name')

    #search logic
    q = request.GET.get('q')
    if q: 
        search_query = get_query(q, ['name'])
        obj_list = obj_list.filter(search_query)

    #build pagination
    page, obj = paginate(page, obj_list, request, q)

    #login url processing
    if method is None or method == 'index':
        instance = PrivilegeManifest()
        form = forms.FormUserClass()
        template = base_template + 'list.html'
    elif pk is not None: 
        instance = PrivilegeManifest.objects.get(pk=pk)
        form = forms.FormPrivilegeManifest(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + second_base + 'update/'+str(pk)+'/'
        template = base_template + 'manage.html'
    else: 
        instance = PrivilegeManifest()
        form = forms.FormPrivilegeManifest(instance=instance)
        page.form_action = base_url + second_base + 'new/'
        template = base_template + 'manage.html'

    obj_settings = [
        {'link': base_url+second_base+'update/', 'icon': ActionButton.edit},
        {'link': base_url+'manifest-delete/', 'icon': ActionButton.delete},
    ]

    table = Table()
    table.cols = ['Module', 'Name', 'Associated User Classes']
    table.rows = []
    for val in obj: 
        tmp = val.manifest_privilege.all()
        assoc = ""
        for x in tmp: 
            assoc += "%s<br/>" % x.user_class.name
        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': val.module.name},
                {'field': val.name},
                {'field': assoc}
            ]
        })

    # CREATE & UPDATE
    if request.method == "POST": 

        form = forms.FormPrivilegeManifest(request.POST, instance=instance)
        if form.is_valid(): 
            #do method to process
            posts = request.POST
            for post in posts: 
                if hasattr(instance, post): 
                    setattr(instance, post, form.cleaned_data[post])

        # non field specific errors
        page.non_field_errors = errors

        errors += format_form_error(form)

        if not errors: 
            instance.save()
            response = 'Saved successfully'
            return HttpResponse(response_success(route=base_url + second_base, response=response))

        else: 
            return HttpResponse(response_error(response=[errors]))

    #render to browser
    return render_to_response(
        template,
        {'s': s, 'form': form, 'page': page, 'table': table, 'obj': obj, 'settings': obj_settings},
        context_instance=RequestContext(request)
    )
开发者ID:pukonu,项目名称:estate,代码行数:96,代码来源:privilege.py

示例6: UserManage

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def UserManage(request, pk=None):

    s = Auth().isAuth(request)
    if s is False:
        return Auth.routeLogin

    second_base_url = ''

    obj = Users() if pk is None else Users.objects.get(pk=pk)

    page = Page(request)
    page.title = 'User Management'
    page.icon = 'fa fa-group'
    page.form_name = 'user_management'
    page.form_action = base_url_admin+second_base_url+'new/'
    page.breadcrumbs = ['System', 'User Management']
    page.errors = []

    # create record
    if request.method != "POST" and pk is None:
        page.breadcrumbs.append('New')
        form = FormRegisterNew(instance=obj)

        return Auth.routeLogin if s is False else \
            render_to_response(
                base_template_admin+'manage.html',
                {'s': s, 'form': form, 'page': page},
                context_instance=RequestContext(request)
            )

    elif request.method != "POST" and pk is not None:
        page.form_action = base_url_admin + second_base_url + 'update/' + str(pk) + '/'
        page.title = 'Update User: %s' % obj.username
        page.breadcrumbs.append('Update')
        page.request = request
        page.id = pk

        from django.forms.models import model_to_dict
        form = FormRegister(instance=obj, data=model_to_dict(obj))

        return render_to_response(
            base_template_admin+'manage.html',
            {'s': s, 'form': form, 'page': page},
            context_instance=RequestContext(request)
        )

    # process record
    elif request.method == "POST":
        page.breadcrumbs.append('Update')
        page.form_action = base_url_admin+second_base_url + 'new/' if pk is None else \
            base_url_admin+second_base_url + 'update/'+str(pk)+'/'

        try:
            raw_password = request.POST["password"]
        except KeyError:
            raw_password = None
            
        # do some non field specific validations
        if pk is None:
            form = FormRegisterNew(request.POST, request.FILES, instance=obj)
            if raw_password == "":
                page.non_field_errors = ['Please enter a valid password']
        else:
            form = FormRegister(request.POST, request.FILES, instance=obj)

        # validate and process
        if form.is_valid() and not page.non_field_errors:
            # do method to process
            posts = request.POST

            for post in posts:
                if hasattr(obj, post):
                    setattr(obj, post, form.cleaned_data[post])

            try:
                if request.FILES['picture']:
                    # delete any previous image
                    try:
                        # get actual file name
                        ext = '.' + obj.picture.url.split('.')[-1]
                        filename = "".join(obj.picture.url.split('.')[:-1])
                        fn = list()
                        fn.append(settings.MEDIA_ROOT + '/' + filename + ext)
                        fn.append(settings.MEDIA_ROOT + '/' + filename + '.64x64' + ext)
                        fn.append(settings.MEDIA_ROOT + '/' + filename + '.128x128' + ext)
                        fn.append(settings.MEDIA_ROOT + '/' + filename + '.256x256' + ext)
                        fn.append(settings.MEDIA_ROOT + '/' + filename + '.512x512' + ext)
                        fn.append(settings.MEDIA_ROOT + '/' + filename + '.1024x1024' + ext)

                        for f in fn:
                            os.path.exists(f) and os.remove(f)

                    except (KeyError, AttributeError, ValueError):
                        pass
            except KeyError:
                pass

            # encrypt password
            if raw_password:
                obj.password = sha1(raw_password).hexdigest()
#.........这里部分代码省略.........
开发者ID:pukonu,项目名称:doas,代码行数:103,代码来源:views.py

示例7: cim

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def cim(request, pk=None, method=None):

    s = Auth().isAuth(request)
    if not s:
        return Auth.routeLogin

    second_base = 'cim/'

    page = Page(request)
    page.title = 'CRM - Customer Information Management'
    page.icon = 'glyphicons glyphicons-notes'
    page.form_name = 'crmIndex'
    template = base_template + 'snippets/list.html'
    errors = []

    obj_list = CIM.objects.filter(status__exact=1)

    #search logic
    q = request.GET.get('q')
    if q:
        sQuery = get_query(q, ['name', 'contact_person', 'email', 'phone', 'website', 'state', 'city', 'country'])
        obj_list = obj_list.filter(sQuery)

    #build pagination
    page, obj = paginate(page, obj_list, request, q)

    #form processing
    if method is None or method == 'index':
        form = forms.FormCIM()
        template = base_template + 'snippets/list.html'
    elif pk is not None:
        instance = CIM.objects.get(pk=pk)
        form = forms.FormCIM(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + second_base + 'update/'+str(pk)+'/'
        template = base_template + 'snippets/manage.html'
    else:
        instance = CIM()
        form = forms.FormCIM(instance=instance)
        page.form_action = base_url + second_base + 'new/'
        template = base_template + 'snippets/manage.html'

    obj_settings = [
        {'link': base_url + second_base + 'update/', 'icon': Actions().Icon.edit},
        {'link': base_url + second_base + 'delete/index/', 'icon': Actions().Icon.delete},
    ]

    table = Table()
    table.cols = ['Name', 'Corporate?', 'Phone', 'Email', 'Country']
    table.rows = []
    for val in obj:
        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': val.name},
                {'field': val.is_coy},
                {'field': val.phone},
                {'field': val.email},
                {'field': val.country}
            ]
        })

    # CREATE & UPDATE
    if request.method == "POST":

        template = base_template + 'snippets/manage.html'

        form = forms.FormCIM(request.POST, instance=instance)
        if form.is_valid():
            #do method to process
            posts = request.POST
            for post in posts:
                if hasattr(instance, post):
                    setattr(instance, post, form.cleaned_data[post])

        # non field specific errors
        for f in form.errors:
            errors.append(f)

        page.non_field_errors = errors

        if not errors and not form.errors:
            instance.save()

            return HttpResponseRedirect(base_url)

    #render to browser
    return render_to_response(template,
        {'s': s, 'form': form, 'page': page, 'table': table, 'obj': obj, 'settings': obj_settings},
        context_instance=RequestContext(request)
    )
开发者ID:pukonu,项目名称:doas,代码行数:92,代码来源:views.py

示例8: credit

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def credit(request, qk=None, pk=None, method=None):

    if qk is None:
        HttpResponseRedirect('/404/hack/')

    s = Auth().isAuth(request)
    if not s:
        return Auth.routeLogin

    second_base = 'asset/'

    #practitioner factory
    obj_practitioner = Practitioner.objects.get(pk=qk)

    # asset factory
    page = Page(request)
    page.title = 'Practitioner\'s Deposit Form'
    page.icon = 'glyphicons glyphicons-display'
    page.form_name = 'practitionerFR'
    template = base_template + second_base + 'snippets/manage-financial.html'
    page.q = str(qk) + '/'
    errors = []

    #form processing
    if pk is not None:
        instance = FRSummary.objects.get(pk=pk)
        form = forms.FormPractitionerFR(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + 'credit/' + str(qk)+'/'+str(pk)+'/'
        template = base_template + second_base + 'snippets/manage-financial.html'
    else:
        instance = FRSummary()
        form = forms.FormPractitionerFR(instance=instance)
        page.form_action = base_url + 'credit/' + str(qk)+'/'
        template = base_template + second_base + 'snippets/manage-financial.html'

    #  SCRIPT
    page.script = '''
    <script>

    </script>
    '''

    #  CREATE & UPDATE
    if request.method == "POST":

        template = base_template + second_base + 'snippets/manage-financial.html'

        form = forms.FormPractitionerFR(request.POST, instance=instance)
        if form.is_valid():
            #do method to process
            posts = request.POST
            for post in posts:
                if hasattr(instance, post):
                    setattr(instance, post, form.cleaned_data[post])

        #  non field specific errors
        if instance.credit < 100:
            errors.append('Amount entered is too low')

        page.non_field_errors = errors

        if not errors and not form.errors:
            instance.balance = instance.credit
            instance.practitioner = obj_practitioner
            instance.save()

            return HttpResponseRedirect(base_url + 'statement/' + '%s/' % qk)

    #render to browser
    return render_to_response(template,
        {'s': s, 'form': form, 'page': page, 'obj': instance,
         'practitioner': obj_practitioner},
        context_instance=RequestContext(request)
    )
开发者ID:pukonu,项目名称:doas,代码行数:76,代码来源:views+copy.py

示例9: practitioner

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def practitioner(request, pk=None, method=None, cat=None):

    s = Auth().isAuth(request)
    if not s:
        return Auth.routeLogin

    second_base = 'index/'

    page = Page(request)
    page.title = 'Practitioner Management'
    page.icon = 'glyphicons glyphicons-notes'
    page.form_name = 'practitionerIndex'
    template = base_template + second_base + 'snippets/list.html'
    errors = []

    if cat is not None:
        cat = cat.replace("_", " ")
        obj_list = Practitioner.objects.filter(status__exact=1).filter(type=cat)

    else:
        obj_list = Practitioner.objects.filter(status__exact=1)

    #search logic
    q = request.GET.get('q')
    if q:
        sQuery = get_query(q, ['name', 'contact_person', 'email', 'phone', 'website', 'state', 'city', 'country'])
        obj_list = obj_list.filter(sQuery)

    #build pagination
    page, obj = paginate(page, obj_list, request, q)

    #form processing
    if method is None or method == 'index':
        form = forms.FormPractitioner()
        template = base_template + second_base + 'snippets/list.html'
    elif pk is not None:
        print pk
        instance = Practitioner.objects.get(pk=pk)
        form = forms.FormPractitioner(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + second_base + 'update/'+str(pk)+'/'
        template = base_template + second_base + 'snippets/manage.html'
    else:
        instance = Practitioner()
        form = forms.FormPractitioner(instance=instance)
        page.form_action = base_url + second_base + 'new/'
        template = base_template + second_base + 'snippets/manage.html'

    obj_settings = [
        {'link': base_url + second_base + 'update/', 'icon': Actions().Icon.edit},
        {'link': base_url + 'delete/', 'icon': Actions().Icon.delete},
    ]

    table = Table()
    table.cols = ['Name', 'Practitioner Type', 'Phone', 'Email', 'Country']
    table.rows = []
    for val in obj:
        practitioner_link = "<a href='%s' class='text-danger'>%s</a>" % ('/practitioner/asset/%s/'%val.id, val.name)
        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': practitioner_link},
                {'field': val.type},
                {'field': val.mobile1},
                {'field': val.email},
                {'field': val.country}
            ]
        })

    #  SCRIPT
    page.script = '''
    <script>
    $('#id_phone').mask('(234)-0-99999999');
    $('#id_mobile1').mask('(234) 999-999-9999');
    $('#id_mobile2').mask('(234) 999-999-9999');
    </script>
    '''

    #  CREATE & UPDATE
    if request.method == "POST":

        template = base_template + second_base + 'snippets/manage.html'

        form = forms.FormPractitioner(request.POST, instance=instance)
        if form.is_valid():
            #do method to process
            posts = request.POST
            for post in posts:
                if hasattr(instance, post):
                    setattr(instance, post, form.cleaned_data[post])

        # non field specific errors
        for f in form.errors:
            errors.append(f)

        page.non_field_errors = errors

        if not errors and not form.errors:
            instance.save()

            return HttpResponseRedirect(base_url + second_base)
#.........这里部分代码省略.........
开发者ID:pukonu,项目名称:doas,代码行数:103,代码来源:views+copy.py

示例10: asset

# 需要导入模块: from packages.bin.bin import Page [as 别名]
# 或者: from packages.bin.bin.Page import form_action [as 别名]
def asset(request, qk=None, pk=None, method=None):

    if qk is None:
        HttpResponseRedirect('/404/hack/')

    s = Auth().isAuth(request)
    if not s:
        return Auth.routeLogin

    second_base = 'asset/'

    #practitioner factory
    obj_practitioner = Practitioner.objects.get(pk=qk)

    # asset factory
    page = Page(request)
    page.title = 'Practitioner\'s Asset Management'
    page.icon = 'glyphicons glyphicons-display'
    page.form_name = 'practitionerAsset'
    template = base_template + second_base + 'snippets/list.html'
    page.q = str(qk) + '/'
    errors = []

    obj_list = Asset.objects.filter(status__exact=1, practitioner__id=qk)

    #search logic
    q = request.GET.get('q')
    if q:
        sQuery = get_query(q, ['practitioner__name', 'category', 'type', 'longitude', 'latitude'])
        obj_list = obj_list.filter(sQuery)

    #build pagination
    page, obj = paginate(page, obj_list, request, q)

    #form processing
    if method is None or method == 'asset':
        form = forms.FormAsset()
        template = base_template + second_base + 'snippets/list.html'
    elif pk is not None:
        instance = Asset.objects.get(pk=pk)
        prev_instance = Asset.objects.get(pk=pk)
        form = forms.FormAsset(instance=instance, data=model_to_dict(instance))
        page.form_action = base_url + second_base + 'update/'+str(qk)+'/'+str(pk)+'/'
        template = base_template + second_base + 'snippets/manage.html'
    else:
        instance = Asset()
        form = forms.FormAsset(instance=instance)
        page.form_action = base_url + second_base + 'new/'+str(qk)+'/'
        template = base_template + second_base + 'snippets/manage.html'

    obj_settings = [
        {'link': base_url + second_base + 'update/'+str(qk)+'/', 'icon': Actions().Icon.edit},
        {'link': base_url + 'delete/asset/'+str(qk)+'/', 'icon': Actions().Icon.delete},
    ]

    table = Table()
    table.cols = ['Photo', 'Longitude', 'Latitude', 'Category', 'Type', 'Road Clearance', 'Ground Clearance', 'Width', 'Height', 'Sides', 'Commission Date']
    table.rows = []
    for val in obj:
        try:
            tmp_image = "<a href='%s'><img src='%s' class='img-responsive' alt='...'></a>" % (get_thumb(val.photo1.url, '512x512'), get_thumb(val.photo1.url, '64x64'))
        except (ValueError):
            tmp_image = ""
        table.rows.append({
            'id': val.id,
            'fields': [
                {'field': tmp_image},
                {'field': val.longitude},
                {'field': val.latitude},
                {'field': val.category},
                {'field': val.type},
                {'field': val.road_clearance},
                {'field': val.ground_clearance},
                {'field': val.width},
                {'field': val.height},
                {'field': val.sides},
                {'field': val.commission_date},
            ]
        })

    #  SCRIPT
    page.script = '''
    <script>
    $('#id_longitude').mask('9.99999');
    $('#id_latitude').mask('9.99999');
    </script>
    '''

    #  CREATE & UPDATE
    if request.method == "POST":

        template = base_template + second_base + 'snippets/manage.html'

        form = forms.FormAsset(request.POST, request.FILES, instance=instance)
        if form.is_valid():
            #do method to process
            posts = request.POST
            for post in posts:
                if hasattr(instance, post):
                    setattr(instance, post, form.cleaned_data[post])
#.........这里部分代码省略.........
开发者ID:pukonu,项目名称:doas,代码行数:103,代码来源:views+copy.py


注:本文中的packages.bin.bin.Page.form_action方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。