Beispiel #1
0
    def _get_query_view(self):
        from uliweb_layout.form.query_view import QueryModelView

        QueryForm = functions.get_form('QueryForm')
        fields = [
            {
                'name': 'name',
                'like': '%_%'
            },
            {
                'name': 'title',
                'like': '%_%'
            },
            {
                'name': 'deploy_type'
            }  #隐藏条件
        ]
        layout = [
            ['name', 'title'],
        ]
        query = QueryModelView(self.model,
                               fields=fields,
                               layout=layout,
                               form_cls=QueryForm)
        return query
Beispiel #2
0
    def login(self):
        from uliweb.contrib.auth import login

        form = functions.get_form('auth.LoginForm')()

        if request.user:
            next = request.GET.get('next','/admin')
            if next:
                return redirect(next)

        if request.method == 'GET':
            form.next.data = request.GET.get('next', request.referrer or '/')
            return {'form':form, 'msg':''}
        if request.method == 'POST':
            flag = form.validate(request.params)
            if flag:
                f, d = functions.authenticate(username=form.username.data, password=form.password.data)
                if f:
                    request.session.remember = form.rememberme.data
                    login(form.username.data)
                    next = urllib.unquote(request.POST.get('next', '/admin'))
                    return redirect(next)
                else:
                    form.errors.update(d)
            msg = form.errors.get('_', '') or _('Login failed!')
            return {'msg':str(msg)}
Beispiel #3
0
    def _get_query_view(self):
        from uliweb_layout.form.query_view import QueryModelView

        def _render_type(model, name, value, values):
            from sqlalchemy import true
            return true()

        QueryForm = functions.get_form('QueryForm')
        fields = [
            {'name':'subject', 'like':'%_%'},
            #{'name':'created_time', 'op':'=='},
            {'name':'type', 'label':'类型', 'type':'select', 'choices':[('1', '是'), ('0', '否')],
                'placeholder':'--请选择--', 'condition':_render_type},
            {'name':'type1', 'label':'类型1', 'type':'select', 'multiple':True, 'choices':[('1', '是'), ('0', '否')], 'placeholder':'--请选择--'},
            {'name':'type2', 'label':'类型2', 'type':'select', 'multiple':True, 'data-url':'/func/select2_search', 'placeholder':'--请选择--'},
            {'name':'created_time1', 'label':'日期', 'type':'date', 'width':100},
            {'name':'created_time', 'label':'日期', 'type':'date', 'range':True, 'width':100},
        ]
        layout = [
                ['subject', 'type2'],
                ['type', 'type1', 'created_time'],
                ['created_time1']
            ]

        functions.set_echo(True)
        query = QueryModelView('blog', fields=fields, layout=layout, form_cls=QueryForm)
        return query
Beispiel #4
0
    def _query_view(self, model, **kwargs):
        """
        :param model:
        :return: (query, condition)

        Default use QueryForm
        """
        QueryForm = functions.get_form('QueryForm')

        if 'form_cls' not in kwargs:
            kwargs['form_cls'] = QueryForm
        query = functions.QueryView(model, **kwargs)
        return query
    def _create_query_view(self):
        from uliweb_layout.form.query_view import QueryView
        from uliweb.form import StringField

        test = StringField('测试')

        fields = [('test', test)]

        layout = [['test']]

        query_form = functions.get_form('QueryForm')
        query = QueryView(fields=fields, layout=layout, form_cls=query_form)
        return query
Beispiel #6
0
    def _get_query_view(self):
        from uliweb_layout.form.query_view import QueryModelView

        QueryForm = functions.get_form('QueryForm')
        fields = [
            {'name': 'name', 'like': '%_%'},
            {'name': 'title', 'like': '%_%'},
            {'name': 'deploy_type'} #隐藏条件
        ]
        layout = [
            ['name', 'title'],
        ]
        query = QueryModelView(self.model, fields=fields, layout=layout, form_cls=QueryForm)
        return query
    def create_query(self, url):
        from uliweb.form import *
        from uliweb_layout.form.query_view import QueryView

        QueryForm = functions.get_form('QueryForm')

        subject = StringField('标题')
        author = StringField('作者')
        uni = UnicodeField('Unicode')
        select = SelectField('单选', multiple=True, choices=[('1', '选项一'), ('2', '选项二')])
        date = DateField('日期', range=True)
        fields = [('subject', subject), ('author', author), ('uni', uni), ('select', select), ('date', date)]
        layout = [('subject',), ('author', 'uni', 'select'), ('date',)]
        query = QueryView(fields=fields, layout=layout, form_cls=QueryForm)
        return query
    def _create_query_view(self):
        from uliweb_layout.form.query_view import QueryView
        from uliweb.form import StringField

        test = StringField('测试')

        fields = [
            ('test', test)
        ]

        layout = [
            ['test']
        ]

        query_form = functions.get_form('QueryForm')
        query = QueryView(fields=fields, layout=layout, form_cls=query_form)
        return query
Beispiel #9
0
    def __init__(self, data=None, fields=None,
                form_cls=None,
                form_args=None,
                post_created_form=None,
                layout=None, get_form_field=None):

        self.data = data or {}
        self.get_form_field = get_form_field
        self.result = {}

        self.form = None
        self.fields = self.get_fields(fields)
        self.form_cls = form_cls or functions.get_form('QueryForm')
        self.form_args = form_args or {}
        self.post_created_form = post_created_form

        #add layout support
        self.layout = layout
        self.make_form()
        self.run()
Beispiel #10
0
    def _get_query_view(self):
        from uliweb_layout.form.query_view import QueryModelView

        QueryForm = functions.get_form('QueryForm')
        fields = [
            {
                'name': 'subject',
                'like': '_%'
            },
            #{'name':'created_time', 'op':'=='},
            {
                'name': 'type',
                'label': '类型',
                'type': 'select',
                'choices': [('1', '是'), ('0', '否')],
                'placeholder': '--请选择--'
            },
            {
                'name': 'type1',
                'label': '类型1',
                'type': 'select',
                'multiple': True,
                'choices': [('1', '是'), ('0', '否')],
                'placeholder': '--请选择--'
            },
            {
                'name': 'created_time',
                'label': '日期',
                'type': 'date',
                'range': True
            },
        ]
        layout = [['subject', 'created_time'], ['type', 'type1']]
        query = QueryModelView('blog',
                               fields=fields,
                               layout=layout,
                               form_cls=QueryForm)
        return query
Beispiel #11
0
    def register(self):
        from uliweb.contrib.auth import create_user, login
        from uliweb.i18n import ugettext_lazy as _

        form = functions.get_form('RegisterForm')()

        if request.method == 'GET':
            form.next.data = request.GET.get('next', '/')
            return {'form':form, 'msg':''}
        if request.method == 'POST':
            flag = form.validate(request.params)
            if flag:
                f, d = create_user(username=form.username.data, password=form.password.data,email=form.email.data)
                if f:
                    #add auto login support 2012/03/23
                    login(d)
                    next = urllib.unquote(request.POST.get('next', '/'))
                    return redirect(next)
                else:
                    form.errors.update(d)

            msg = form.errors.get('_', '') or _('Register failed!')
            return {'form':form, 'msg':str(msg)}
    def __init__(self,
                 data=None,
                 fields=None,
                 form_cls=None,
                 form_args=None,
                 post_created_form=None,
                 layout=None,
                 get_form_field=None):

        self.data = data or {}
        self.get_form_field = get_form_field
        self.result = {}

        self.form = None
        self.fields = self.get_fields(fields)
        self.form_cls = form_cls or functions.get_form('QueryForm')
        self.form_args = form_args or {}
        self.post_created_form = post_created_form

        #add layout support
        self.layout = layout
        self.make_form()
        self.run()