developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #863: 863-menu_master_admin-1.patch

File 863-menu_master_admin-1.patch, 14.5 KB (added by Surfoo, 12 years ago)
  • build/manifests/jelix-www.mn

     
    1313  fond-bandeau.png
    1414  fond-cellule.png
    1515  jelix_powered.png
     16  dashboard.png
     17  group.png
     18  rights.png
     19  user.png
    1620cd lib/jelix-www/js
    1721  tooltip.js
    1822  jforms_light.js
  • lib/jelix-www/design/master_admin.css

    Impossible d'afficher : fichier considéré comme binaire.
    svn:mime-type = application/octet-stream
    
    Modification de propriétés sur lib/jelix-www/design/images/group.png
    ___________________________________________________________________
    Ajouté : svn:mime-type
       + application/octet-stream
    
    Impossible d'afficher : fichier considéré comme binaire.
    svn:mime-type = application/octet-stream
    
    Modification de propriétés sur lib/jelix-www/design/images/user.png
    ___________________________________________________________________
    Ajouté : svn:mime-type
       + application/octet-stream
    
    Impossible d'afficher : fichier considéré comme binaire.
    svn:mime-type = application/octet-stream
    
    Modification de propriétés sur lib/jelix-www/design/images/rights.png
    ___________________________________________________________________
    Ajouté : svn:mime-type
       + application/octet-stream
    
    Impossible d'afficher : fichier considéré comme binaire.
    svn:mime-type = application/octet-stream
    
    Modification de propriétés sur lib/jelix-www/design/images/dashboard.png
    ___________________________________________________________________
    Ajouté : svn:mime-type
       + application/octet-stream
    
     
    11@import url(records_list.css);
    22
    3 body { 
    4     font-family: Verdana, Arial, Sans; 
     3body {
     4    font-family: Verdana, Arial, Sans;
    55    font-size:0.8em;
    66    margin:0; padding:0;
    77    background-color:#eff4f6;
     
    99
    1010a img { border: 0}
    1111
    12 fieldset { margin-top:1em; }
     12fieldset {
     13    margin-top:1em;
     14    -moz-border-radius:4px;
     15    -webkit-border-radius:4px;
     16    -o-border-radius:4px;
     17    border-radius:4px;
     18}
    1319
    1420#login-content {
    1521   margin: 4em auto;
     
    109115    -o-border-radius:4px 4px 0 0;
    110116    border-radius:4px 4px 0 0;
    111117    -webkit-border-top-right-radius: 4px;
    112     -webkit-border-top-left-radius: 4px; 
     118    -webkit-border-top-left-radius: 4px;
    113119}
    114120
    115121#menu .menu-bloc ul {
     
    119125    list-style-type:none;
    120126}
    121127#menu .menu-bloc li {
    122     padding: 2px 8px 2px 20px;
     128    padding: 0;
    123129    border-top:  1px solid #EFF8FC;
    124130    border-bottom:  1px solid #B0C4CB;
    125131    background-position:0 0;
     
    127133    margin:0;
    128134}
    129135
    130 #menu .menu-bloc li a { color:#3f6f7a; text-decoration:none; }
     136#menu .menu-bloc li a {
     137    color:#3f6f7a;
     138    text-decoration:none;
     139    display: block;
     140    background-repeat: no-repeat;
     141    background-position: 2px center;
     142    padding: 2px 2px 2px 20px;
     143}
    131144#menu .menu-bloc li a:visited {  color : #002830;}
    132145#menu .menu-bloc li a:hover { text-decoration:underline; background-color: #D5E6EC; }
    133146#menu .menu-bloc li:hover { background-color: #D5E6EC; }
    134147
     148#menu .menu-bloc .selected {
     149    background-color:#D5E6EC;
     150}
     151#menu .menu-bloc .selected a:hover {
     152    text-decoration: none;
     153}
    135154
    136155#admin-message {}
    137156
  • lib/jelix-admin-modules/master_admin/templates/zone_admin_menu.tpl

     
    33        <div class="menu-bloc" id="menu-bloc-{$bloc->id}">
    44            {if $bloc->label}<h3>{$bloc->label|eschtml}</h3>{/if}
    55            <ul>{foreach $bloc->childItems as $item}
    6                 <li {if $item->id == $selectedMenuItem} class="selected"{/if}
    7                     {if $item->icon} style="background-image:url({$item->icon});"{/if}>
    8                     {if $item->type == 'url'}<a href="{$item->content|eschtml}">{$item->label|eschtml}</a>
    9                     {else}{$item->content}{/if}
     6                <li {if $item->id == $selectedMenuItem} class="selected"{/if}>
     7                    {if $item->type == 'url'}
     8                        <a href="{$item->content|eschtml}"{if $item->icon}
     9                        style="background-image:url({$item->icon});"{/if}>{$item->label|eschtml}</a>
     10                    {else}
     11                        {$item->content}
     12                    {/if}
    1013                </li>
    1114            {/foreach}</ul>
    1215        </div>
    1316    {/if}
    14 {/foreach}
    15  Pas de fin de ligne à la fin du fichier.
     17{/foreach}
  • lib/jelix-admin-modules/master_admin/zones/admin_menu.zone.php

     
    1616
    1717        $menu = array();
    1818        $menu['toplinks'] = new masterAdminMenuItem('toplinks', '', '');
    19         $menu['toplinks']->childItems[] = new masterAdminMenuItem('dashboard', jLocale::get('gui.menu.item.dashboard'), jUrl::get('default:index'));
     19
     20        $dashboard = new masterAdminMenuItem('dashboard', jLocale::get('gui.menu.item.dashboard'), jUrl::get('default:index'));
     21        $dashboard->icon = $GLOBALS['gJConfig']->urlengine['jelixWWWPath'] . 'design/images/dashboard.png';
     22        $menu['toplinks']->childItems[] = $dashboard;
     23
    2024        $menu['system'] = new masterAdminMenuItem('system', jLocale::get('gui.menu.item.system'), '', 100);
    2125
    2226        $items = jEvent::notify('masteradminGetMenuContent')->getResponse();
  • lib/jelix-admin-modules/jacl2db_admin/classes/jacl2db_admin.listener.php

     
    1010
    1111class jacl2db_adminListener extends jEventListener{
    1212
    13    /**
    14    *
    15    */
    16    function onmasteradminGetMenuContent ($event) {
    17       if(jAcl2::check('acl.user.view'))
    18         $event->add(new masterAdminMenuItem('usersrights', jLocale::get('jacl2db_admin~acl2.menu.item.rights'), jUrl::get('jacl2db_admin~users:index'), 30, 'system'));
    19       if(jAcl2::check('acl.group.view'))
    20         $event->add(new masterAdminMenuItem('usersgroups', jLocale::get('jacl2db_admin~acl2.menu.item.groups'), jUrl::get('jacl2db_admin~groups:index'), 20, 'system'));
    21    }
     13    /**
     14    *
     15    */
     16    function onmasteradminGetMenuContent ($event) {
     17        if(jAcl2::check('acl.user.view')) {
     18            $item = new masterAdminMenuItem('usersrights', jLocale::get('jacl2db_admin~acl2.menu.item.rights'), jUrl::get('jacl2db_admin~users:index'), 30, 'system');
     19            $item->icon = $GLOBALS['gJConfig']->urlengine['jelixWWWPath'] . 'design/images/rights.png';
     20            $event->add($item);
     21        }
     22        if(jAcl2::check('acl.group.view')) {
     23            $item = new masterAdminMenuItem('usersgroups', jLocale::get('jacl2db_admin~acl2.menu.item.groups'), jUrl::get('jacl2db_admin~groups:index'), 20, 'system');
     24            $item->icon = $GLOBALS['gJConfig']->urlengine['jelixWWWPath'] . 'design/images/group.png';
     25            $event->add($item);
     26        }
     27    }
    2228}
  • lib/jelix-admin-modules/jauthdb_admin/controllers/default.classic.php

     
    99*/
    1010
    1111class defaultCtrl extends jController {
    12    
     12
    1313    public $pluginParams=array(
    1414        'index'        =>array('jacl2.right'=>'auth.users.list'),
    1515        'view'         =>array('jacl2.right'=>'auth.users.view'),
     
    4242    protected $listPageSize = 20;
    4343
    4444    protected $authConfig = null;
    45    
     45
    4646    protected $uploadsDirectory='';
    4747
    4848    function __construct ($request){
     
    6666        $offset = $this->intParam('offset',0,true);
    6767
    6868        $rep = $this->getResponse('html');
    69        
     69
    7070        if ($this->form == '') {
    7171            $rep->body->assign('MAIN', 'no form defined in the auth plugin');
    7272            return $rep;
     
    7979        $cond = jDao::createConditions();
    8080        $cond->addItemOrder('login', 'asc');
    8181        $tpl->assign('list', $dao->findBy($cond,$offset,$this->listPageSize));
    82        
     82
    8383        $pk = $dao->getPrimaryKeyNames();
    8484        $tpl->assign('primarykey', $pk[0]);
    8585
     
    9090        $tpl->assign('cancreate', jAcl2::check('auth.users.create'));
    9191        $tpl->assign('canview', jAcl2::check('auth.users.view'));
    9292        $rep->body->assign('MAIN', $tpl->fetch('crud_list'));
     93        $rep->body->assign('selectedMenuItem', 'users');
    9394        jForms::destroy($this->form,  '___$$$___');
    9495        return $rep;
    9596    }
     
    110111        // labels with each values.
    111112        $form = jForms::create($this->form, $id);
    112113        $form->initFromDao($this->dao, $id, $this->dbProfile);
    113        
     114
    114115        $tpl = new jTpl();
    115116        $tpl->assign('id', $id);
    116117        $tpl->assign('form',$form);
     
    132133        $form->deactivate('password', false);
    133134        $form->deactivate('password_confirm', false);
    134135        jEvent::notify('jauthdbAdminPrepareCreate', array('form'=>$form));
    135        
     136
    136137        $rep = $this->getResponse('redirect');
    137138        $rep->action = 'default:create';
    138139        return $rep;
     
    153154        $tpl->assign('form',$form);
    154155        $tpl->assign('randomPwd', jAuth::getRandomPassword());
    155156        jEvent::notify('jauthdbAdminEditCreate', array('form'=>$form, 'tpl'=>$tpl));
    156        
     157
    157158        $rep->body->assign('MAIN', $tpl->fetch('crud_edit'));
    158159        return $rep;
    159160    }
     
    172173        $evresp = array();
    173174        if($form->check()  && !jEvent::notify('jauthdbAdminCheckCreateForm', array('form'=>$form))->inResponse('check', false, $evresp)){
    174175            $props = jDao::createRecord($this->dao, $this->dbProfile)->getProperties();
    175            
     176
    176177            $user = jAuth::createUserObject($form->getData('login'),$form->getData('password'));
    177178
    178179            $form->setData('password', $user->password);
     
    180181            $form->saveAllFiles($this->uploadsDirectory);
    181182
    182183            jAuth::saveNewUser($user);
    183            
     184
    184185            jForms::destroy($this->form);
    185186            jMessage::add(jLocale::get('crud.message.create.ok', $user->login), 'notice');
    186187            $rep->action = 'default:view';
     
    225226        $form->setReadOnly('login');
    226227        $form->deactivate('password');
    227228        $form->deactivate('password_confirm');
    228         $rep->action = 'default:editupdate';       
     229        $rep->action = 'default:editupdate';
    229230        return $rep;
    230231    }
    231232
     
    273274        }
    274275        $evresp = array();
    275276        if($form->check() && !jEvent::notify('jauthdbAdminCheckUpdateForm', array('form'=>$form))->inResponse('check', false, $evresp)){
    276             extract($form->prepareDaoFromControls($this->dao,$id,$this->dbProfile), 
     277            extract($form->prepareDaoFromControls($this->dao,$id,$this->dbProfile),
    277278                EXTR_PREFIX_ALL, "form");
    278279            // we call jAuth instead of using jDao, to allow jAuth to do
    279280            // all process, events...
     
    320321            $rep->params['id'] = $id;
    321322            return $rep;
    322323        }
    323        
     324
    324325        if( $id !== null && jAuth::getUserSession()->login != $id){
    325326            if(jAuth::removeUser($id)) {
    326327                jMessage::add(jLocale::get('crud.message.delete.ok', $id), 'notice');
  • lib/jelix-admin-modules/jauthdb_admin/classes/jauthdb_admin.listener.php

     
    1010
    1111class jauthdb_adminListener extends jEventListener{
    1212
    13    /**
    14    *
    15    */
    16    function onmasteradminGetMenuContent ($event) {
    17       $plugin = $GLOBALS['gJCoord']->getPlugin('auth', false);
    18       if ($plugin && $plugin->config['driver'] == 'Db' && jAcl2::check('auth.users.list'))
    19          $event->add(new masterAdminMenuItem('users', jLocale::get('jauthdb_admin~auth.adminmenu.item.list'), jUrl::get('jauthdb_admin~default:index'), 10, 'system'));
    20    }
     13    /**
     14    *
     15    */
     16    function onmasteradminGetMenuContent ($event) {
     17        $plugin = $GLOBALS['gJCoord']->getPlugin('auth', false);
     18        if ($plugin && $plugin->config['driver'] == 'Db' && jAcl2::check('auth.users.list')) {
     19            $item = new masterAdminMenuItem('users', jLocale::get('jauthdb_admin~auth.adminmenu.item.list'), jUrl::get('jauthdb_admin~default:index'), 10, 'system');
     20            $item->icon = $GLOBALS['gJConfig']->urlengine['jelixWWWPath'] . 'design/images/user.png';
     21            $event->add($item);
     22        }
     23    }
    2124}
  • lib/jelix-admin-modules/CREDITS

     
    55
    66Laurent Jouanneau
    77  - creator of modules: jacl2db_admin, jauthdb_admin, master_admin
     8
     9Cédric Hoover (hoover (dot) united (at) gmail (dot) com)
     10  - designer of dashboard.png
    811 
    912Kévin Lepeltier
    1013  - improvement on the master_admin menu (#811)
     
    1215
    1316Geekbay
    1417  - fixed a bug in the master_admin template (#816)
    15   - little improvement in the main.tpl in the master_admin module (#850)
    16  Pas de fin de ligne à la fin du fichier.
     18  - little improvement in the main.tpl in the master_admin module (#850)
     19
     20Baptiste Toinot
     21  - improvement of design on the master_admin menu (#863)
     22
     23Thanks to famfamfam.com for the cute icons. (http://www.famfamfam.com/lab/icons/silk/)