Exemple #1
0
    def list(self):
        query = self._get_query_view(url_for(self.__class__.list))
        c = query.run()
        
        condition = None
        
        if c.get('id'):
            condition = (self.model.c.id == c['id']) & condition

        fields_convert_map = {}
        
        view = functions.ListView(self.model, 
#            pageno=page, #get page info from request
#            rows_per_page=rows, #get rows info from request
            pagination=False,
            condition=condition,
            fields_convert_map=fields_convert_map,
        )
        
        
        
        if 'data' in request.values:
            return json(view.json())
        
        result = view.run()
        result['view'] = view
        
        
        return result
Exemple #2
0
    def _list_view(self, model, **kwargs):
        """
        :param model:
        :param fields_convert_map: it's different from ListView
        :param kwargs:
        :return:
        """
        from uliweb import request

        #add download fields process
        fields = kwargs.pop('fields', None)
        meta = kwargs.pop('meta', 'Table')
        if 'download' in request.GET:
            if 'download_fields' in kwargs:
                fields = kwargs.pop('download_fields', fields)
            if 'download_meta' in kwargs:
                meta = kwargs.pop('download_meta')
            else:
                if hasattr(model, 'Download'):
                    meta = 'Download'
                else:
                    meta = meta

        view = functions.ListView(model, fields=fields, meta=meta, **kwargs)
        return view
Exemple #3
0
    def query_classissues(self):
        #        page = int(request.values.get('page', 1)) - 1
        rows = 5
        condition = self.model_issue.c.class_obj == self.class_id

        def enroll(value, obj):
            return self._enroll(obj)

        def enrolled(value, obj):
            return self._enrolled(obj)

        view = functions.ListView(
            self.model_issue,
            #            pageno=page,
            rows_per_page=rows,
            condition=condition,
            order_by=[self.model_issue.c.issue.desc()],
            fields_convert_map={
                'issue': self._issue,
                'position': self._position,
                'enroll': enroll,
                'enrolled': enrolled,
            },
            meta='ListTable',
        )
        return json(view.json())
Exemple #4
0
    def _get_teachers_view(self):
        """
        Return a ListView object
        """
        condition = None

        page = int(request.values.get('page', 1)) - 1
        rows = settings.CLASSES.get('rows', 10)

        def user_id(value, obj):
            return obj._teacher_

        def image(value, obj):
            return functions.get_user_image(obj.teacher)

        def blog(value, obj):
            return '<a href="%s">%s</a>' % (obj.blog, obj.blog)

        fields_convert_map = {
            'user_id': user_id,
            'image': image,
            'blog': blog,
        }

        view = functions.ListView(
            self.model_teacher,
            pageno=page,
            rows_per_page=rows,
            fields_convert_map=fields_convert_map,
            meta='ListTable',
        )
        return view
Exemple #5
0
    def students(self):
        issue = int(request.POST.get('issue'))
        class_id = int(request.POST.get('class_id'))

        condition = (self.model_study.c.issue
                     == issue) & (self.model_study.c.class_obj == class_id)

        def image(value, obj):
            return functions.get_user_image(obj.student, 20)

        def name(value, obj):
            return unicode(obj.student)

        view = functions.ListView(
            self.model_study,
            condition=condition,
            pagination=False,
            order_by=[self.model_study.c.create_date],
            fields_convert_map={
                'image': image,
                'name': name
            },
            meta='QueryStudents',
        )
        return json(view.json())
Exemple #6
0
 def _list_view(self, model, **kwargs):
     """
     :param model:
     :param fields_convert_map: it's different from ListView
     :param kwargs:
     :return:
     """
     view = functions.ListView(model, **kwargs)
     return view
Exemple #7
0
    def query_classinfos(self):
        page = int(request.values.get('page', 1)) - 1
        rows = 5
        condition = self.model_info.c.class_obj == self.class_id

        view = functions.ListView(self.model_info,
            pageno=page, rows_per_page=rows,
            condition=condition,
            order_by=[self.model_info.c.create_date.desc()],
            fields_convert_map={'issue':self._issue},
            )
        return json(view.json())
Exemple #8
0
 def query(self):
     def issue(value, obj):
         return value
     
     page = int(request.values.get('page', 1)) - 1
     rows = 5
     view = functions.ListView(self.model,
         pageno=page, rows_per_page=rows,
         condition=self.condition,
         order_by=[self.model.c.create_date.desc()],
         fields_convert_map={'issue':issue},
         )
     return json(view.json())
Exemple #9
0
 def _get_infos_view(self):
     """
     Return a ListView object
     """
     condition = None
     
     page = int(request.values.get('page', 1)) - 1
     rows = settings.CLASSES.get('rows', 10)
     
     view = functions.ListView(self.model_info, 
         pageno=page, 
         rows_per_page=rows,
         order_by=self.model_info.c.create_date.desc(),
         meta='ListTable',
     )
     return view
Exemple #10
0
    def _get_view(self):
        """
        Return a ListView object
        """
        condition = None
        
        def blog(value, obj):
            return '<a href="%s">%s</a>' % (value, value)
        
        fields_convert_map = {'blog':blog}
        
        view = functions.ListView(self.model, 
#            pageno=page, 
#            rows_per_page=rows,
            pagination=False,
            condition=condition,
            fields_convert_map=fields_convert_map,
        )
        return view
Exemple #11
0
    def list(self):
        Perm = functions.get_model('permission')

        query = self._get_query_view(url_for(self.__class__.list))
        c = query.run()

        condition = None

        if c.get('name'):
            condition = (Perm.c.name.like('%' + c['name'] + '%')) & condition

        if c.get('description'):
            condition = (Perm.c.description.like('%' + c['description'] +
                                                 '%')) & condition

        def name(value, obj):
            return '<a href="/admin/permission/view/%d">%s</a>' % (obj.id,
                                                                   value)

        fields_convert_map = {'name': name}

        view = functions.ListView(
            Perm,
            # pageno=page, #get page info from request
            # rows_per_page=rows, #get rows info from
            # request
            pagination=True,
            condition=condition,
            fields_convert_map=fields_convert_map,
        )

        if 'data' in request.values:
            return json(view.json())

        result = view.run()
        result['view'] = view

        result['query_form'] = query.form

        return result
Exemple #12
0
    def list(self):
        query = self._get_query_view(url_for(self.__class__.list))
        c = query.run()
        
        condition = None
        
        if c.get('id'):
            condition = (self.model.c.id == c['id']) & condition

        fields_convert_map = {}
        
        view = functions.ListView(self.model, 
#            pageno=page, #get page info from request
#            rows_per_page=rows, #get rows info from request
            pagination={{=pagination}},
            condition=condition,
            fields_convert_map=fields_convert_map,
        )
        
        {{if download:}}
        if 'download' in request.values:
            return view.download('{{=downloadfile}}', action='download', timeout=0)
        {{pass}}
        
        if 'data' in request.values:
            return json(view.json())
        
        result = view.run()
        result['view'] = view
        {{if theme_name=='html':}}
        result['pagination'] = functions.create_pagination(functions.request_url(), view.total, view.pageno+1, view.rows_per_page)
        result['query_form'] = query.form
        {{pass}}
        {{if theme_name=='easyui':}}
        result['query_form'] = query.form
        result['view'] = view
        {{pass}}
        return result
Exemple #13
0
 def _get_fields(self):
     """
     Return list fields info, and it'll be used in angularjs template
     """
     view = functions.ListView(self.model)
     return view.table_info['fields_list']
Exemple #14
0
 def _get_fields(self):
     view = functions.ListView(self.model)
     return view.table_info['fields_list']