def permissions_count(request):
    return {"number": count_permissions()}
    def roles(self):
        resultparams = super().resultparams

        limit = appconfig["pagelimit"]
        count = count_permissions()

        permissions = get_permissions2(offset=0, limit=limit)
        result = {"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/permissions.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/permissions.js"))

        # jsglobal
        resultparams[
            "jsglobal"
        ] += """
                    
                    //Главный объект
                    var pageobj = {};
                    
                    pageobj.number = %s;
                    pageobj.limit  = %s;
                    pageobj.pstart = 1;
                    pageobj.pcurrent = 1;
                    pageobj.preurl = '%s/options/control/permissions/';
                    pageobj.sort   = {'col': 2, 'asc': 1};
                    pageobj.dotjsfolder = 'options/control/permissions/';
        
        """ % (
            count,
            limit,
            self.request.route_url("manager"),
        )

        # 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)