Overview

Namespaces

  • Igestis
    • Modules
      • Commercial
  • None

Classes

  • AccountingController
  • ConfigControllers
  • ConfigHookListener
  • ConfigInitModule
  • ConfigModuleVars
  • indexController
  • Overview
  • Namespace
  • Class
  • Tree
  • Todo
  1: <?php
  2: // config/ConfigInitModule.php
  3: 
  4: // Le fichier de config se trouve dans le namespace du module
  5: namespace Igestis\Modules\Commercial;
  6: 
  7: /* 
  8:  * La classe ConfigInitModule sera lancée par le coeur de l'application à différents moments,
  9:  * afin de  rapatrier la liste des droits ou les entrées du menu.
 10:  * Il est conseillé d'implémenter les interfaces ConfigMenuInterface et
 11:  * ConfigRightsListInterface afin que votre logiciel puisse aisément vous aider à compléter
 12:  * les méthodes abstraites.
 13:  */
 14: class ConfigInitModule implements \Igestis\Interfaces\ConfigMenuInterface, \Igestis\Interfaces\ConfigRightsListInterface, \Igestis\Interfaces\ConfigSidebarInterface {
 15:     /**
 16:      * Renvoie un tableau contenant la liste des droits possibles dans l'application.
 17:      * Il doit absolument respecter le formatage ici montré.
 18:      */
 19:     public static function getRightsList() {
 20:         $module =   array(
 21:             /* MODULE_NAME 
 22:              * contient la référence de l'application que le core a besoin de connaitre */
 23:             "MODULE_NAME" => ConfigModuleVars::moduleName,
 24:             /* MODULE_FULL_NAME 
 25:              * contient le nom de l'application tel qu'affiché dans la gestion des droits */
 26:             "MODULE_FULL_NAME" => \Igestis\I18n\Translate::_(ConfigModuleVars::moduleShowedName),
 27:             /* RIGHTS_LIST 
 28:              * contient la liste des droits qu'on va définir plus bas */
 29:             "RIGHTS_LIST" => NULL);
 30:         
 31:         /* On définit maintenant la liste des droits */
 32:         $module['RIGHTS_LIST'] =  array(
 33:             /* Premier droit "None"*/
 34:             array(
 35:                 "CODE" => "NONE",
 36:                 "NAME" => \Igestis\I18n\Translate::_("None"),
 37:                 "DESCRIPTION" => \Igestis\I18n\Translate::_("Doesn't allow the access to sales projects")
 38:             ),
 39:             array(
 40:                 "CODE" => "ADMIN",
 41:                 "NAME" => \Igestis\I18n\Translate::_("Administrator"),
 42:                 "DESCRIPTION" => \Igestis\I18n\Translate::_("Allow to create and delete projects, create assets, invoices and estimations, and export invoices and assets")
 43:             ),
 44:             array(
 45:                 "CODE" => "EMPL",
 46:                 "NAME" => \Igestis\I18n\Translate::_("Employee"),
 47:                 "DESCRIPTION" => \Igestis\I18n\Translate::_("Allow to create and delete projects, create assets, invoices and estimations")
 48:             ),
 49:             array(
 50:                 "CODE" => "COMP",
 51:                 "NAME" => \Igestis\I18n\Translate::_("Account manager"),
 52:                 "DESCRIPTION" => \Igestis\I18n\Translate::_("Allow to export invoices and assets")
 53:             )
 54:         );
 55:         
 56:         return $module;
 57:     }
 58: 
 59:     /* Ajoute au menu les différentes url, inutile de faire des vérifications des droits, 
 60:      * le core ne les affichera automatiquement que pour les personnes aillant le droit 
 61:      * d'accéder à la page.
 62:      */
 63:     public static function menuSet(\Application $context, \IgestisMenu &$menu) {
 64:         /**
 65:          * $menu->additem prend 3 paramètres
 66:          * - Le nom du menu de la racine dans lequel placer l'entrée (ici dans le menu Modules)
 67:          * - Le nom de l'entrée dans le menu (ici on crée l'entrée tickets dans le menu Modules)
 68:          * - La route à lancer
 69:          */
 70:         $menu->addItem(
 71:                 \Igestis\I18n\Translate::_("Commercial"), 
 72:                 \Igestis\I18n\Translate::_("Projects"), 
 73:                 "commercial_accounting_index"
 74:         );
 75:         
 76:     }
 77: 
 78:     /**
 79:      * Add the entries to the module sidebar
 80:      * @param \Application $context
 81:      * @param \IgestisSidebar $sidebar
 82:      */
 83:     public static function sidebarSet(\Application $context, \IgestisSidebar &$sidebar) {
 84:         $sidebar->addItem(\Igestis\I18n\Translate::_("Quick links"), "New intervantion", "commercial_index");
 85:         $sidebar->addItem(\Igestis\I18n\Translate::_("Quick links"), "New commercial element", "commercial_index2");
 86:         $sidebar->addItem(\Igestis\I18n\Translate::_("Quick links"), "New project", "commercial_interventions_new");
 87:         
 88:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Projets", "commercial_interventions_new");
 89:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Selling documents", "commercial_interventions_new");
 90:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Buying invoices", "commercial_interventions_new");
 91:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Articles database", "commercial_interventions_new");
 92:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Interventions", "commercial_interventions_new");
 93:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Balances", "commercial_interventions_new");
 94:         $sidebar->addItem(\Igestis\I18n\Translate::_("Navigation"), "Bank accounts", "commercial_interventions_new");
 95:         
 96:         $sidebar->addItem(\Igestis\I18n\Translate::_("Administration"), "Accounting", "commercial_accounting_index");
 97:         $sidebar->addItem(\Igestis\I18n\Translate::_("Administration"), "Commercial parameters", "commercial_interventions_new");
 98:     }
 99: }
100: 
101: 
igestis-iprojectis-v2 API documentation generated by ApiGen 2.8.0