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 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)}
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
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
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
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()
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
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)}