示例#1
0
 def roles(self):
     resultparams = super().resultparams
     
     limit = appconfig['pagelimit']
     count = count_roles()
     
     permissions = get_permissions()
     allpermissions = []
     i = 0
     s = len(permissions)
     while i<s:
         allpermissions.append([permissions[i].id, permissions[i].permname])
         i += 1
     
     roles = get_roles(offset=0, limit=limit)
     result = {'roles': roles, 'permissions': permissions}
     resultparams['result'] = result
     
     resultparams['title'] += 'Управление ролями'
     
     #csslibs
     csslibs = resultparams['csslibs']
     csslibs.append(super().csslib('lib/qtip2/jquery.qtip.min.css'))
     csslibs.append(super().csslib('lib/chosen/chosen.css'))
     csslibs.append(super().csslib('css/roles.css'))
     
     #jslibs
     jslibs = resultparams['jslibs']
     jslibs.append(super().jslib('lib/jquerypaging/jquery.paging.min.js'))
     jslibs.append(super().jslib('lib/jquery.customforms.js'))
     jslibs.append(super().jslib('lib/chosen/chosen.jquery.min.js'))
     jslibs.append(super().jslib('lib/qtip2/jquery.qtip.min.js'))
     jslibs.append(super().jslib('lib/ui.spinner.js'))
     jslibs.append(super().jslib('lib/validate/jquery.validate.js'))
     
     jslibs.append(super().jslib('lib/snippets/tplloader.js'))
     jslibs.append(super().jslib('lib/snippets/checkall.js'))
     jslibs.append(super().jslib('lib/snippets/totalpages.js'))
     jslibs.append(super().jslib('lib/snippets/paging.js'))
     jslibs.append(super().jslib('lib/snippets/filter.js'))
     jslibs.append(super().jslib('lib/snippets/filterclear.js'))
     jslibs.append(super().jslib('lib/snippets/orderby.js'))
     jslibs.append(super().jslib('lib/snippets/deleteitems.js'))
     jslibs.append(super().jslib('lib/snippets/funcs.js'))
     jslibs.append(super().jslib('lib/snippets/nebuttons.js'))
     jslibs.append(super().jslib('lib/snippets/tablemenufunc.js'))
     jslibs.append(super().jslib('lib/snippets/edititem.js'))
     
     jslibs.append(super().jslib('js/rbac/roles.js'))
     
     #jsglobal
     resultparams['jsglobal'] += '''
                 
                 //Главный объект
                 var pageobj = {};
                 
                 pageobj.number = %s;
                 pageobj.limit  = %s;
                 pageobj.pstart = 1;
                 pageobj.pcurrent = 1;
                 pageobj.preurl = '%s/options/control/roles/';
                 pageobj.sort   = {'col': 2, 'asc': 1};
                 pageobj.allpermissions = %s;
                 pageobj.dotjsfolder = 'options/control/roles/';
                 pageobj.rolesgroup = ['Users', 'Administrators'];
                 
                 
     ''' % (count, limit, self.request.route_url('manager'), json.dumps(allpermissions))
     
     #jsopts
     jsopts = resultparams['jsopts']
     jsopts.append('''
                   
                   //Экспорт шаблона редактирования
                   window.edittpl = cmtplloader(pageobj.dotjsfolder + 'edittpl');
                   
                   //Экспорт шаблона таблицы
                   window.trtabletpl = cmtplloader(pageobj.dotjsfolder + 'trtabletpl');
                   
                   window.newrestore = $('#tablefunc').html();
                   
                   //Запуск скриптов
                   pageobj.start();
                   
                   ''')
     
     return super().prerender(resultparams)
示例#2
0
def roles_count(request):
    return {'number': count_roles()}