Ejemplo n.º 1
0
 protected function get_view()
 {
     $privs = new UserKnownPrivsModel($this->connection);
     $pages = FannieAPI::listModules('FanniePage');
     sort($pages);
     $custom = new PagePermissionsModel($this->connection);
     $ret = '<form method="post">
         <div class="panel panel-default">
             <div class="panel-heading">Create Custom Permissions</div>
             <div class="panel-body">
                 <div class="form-group">
                     <label>Page</label>
                     <select name="page" class="form-control">
                         <option value="">Choose page</option>
                         ' . array_reduce($pages, function ($carry, $page) {
         return $carry . '<option>' . $page . '</option>';
     }) . '
                     </select>
                 </div>
                 <div class="form-group">
                     <label>Permission Class</label>
                     <select name="auth" class="form-control">
                     ' . $privs->toOptions(-1, true) . '
                     </select>
                 </div>
                 <div class="form-group">
                     <button type="submit" class="btn btn-default btn-core">Create</button>
                 </div>
             </div>
         </div>
         </form>
         <div class="panel panel-default">
             <div class="panel-heading">Pages With Custom Permissions</div>
             <div class="panel-body">
                 <table class="table table-bordered table-striped">
                     <tr><th>Name</th><th>Description</th><th>&nbsp;</th></tr>
                     ' . array_reduce($custom->find('pageClass'), function ($carry, $obj) {
         $page_class = $obj->pageClass();
         $page = new $page_class();
         return $carry . sprintf('<tr><td>%s</td><td>%s</td><td>
                             <a href="_method=delete&id=%s" class="btn btn-danger btn-xs">%s</a></td></tr>', $page_class, $page->description, $page_class, \COREPOS\Fannie\API\lib\FannieUI::deleteIcon());
     }) . '
                 </table>
             </div>
         </div>
         ';
     return $ret;
 }