Skip to content
Snippets Groups Projects
  1. Sep 04, 2015
  2. Jul 10, 2015
    • Andrew Rudenets's avatar
      Merge of admin office & dean_office · ec9f0681
      Andrew Rudenets authored and xamgore's avatar xamgore committed
      * New family of Environment_Office controllers
      * All controllers are moved to Office/ folder
      * Twig files extend 'office/base' twig
      * New menu at office page
      * Unified search control
      ec9f0681
  3. Jun 19, 2015
  4. Jun 13, 2015
    • xamgore's avatar
      Explicit user rights management · 248dfda3
      xamgore authored
      It may seem that this commit is rather big, but it's not. Don't be afraid, just read the message. Recently we have understood that it was a bad idea to store rights for pages in a database. So I decided to move the information to PHP layer and make it more clear.
      
      When you write a new controller in Admin/ Dean/ Student/ folder, you should explicitly extend one of Controller_Environment_* classes, and all specific checks will be done there. Additional advantage is manipulating $user variable, so you will have access to extended fields of user, ie User_Student contains StudentID, but User_Teacher does not.
      
      Also, prefer -> operator to []. The reason is simple: IDE shows hints and mismatches only with the first one.
      
      The second important statement is User::checkAccess(User::RIGHTS_*) — call it at the top of *every* function in the Handler/ classes. Exception will be thrown, if user doesn't have enough rights.
      
      NB. If you want to overload "before()" function while extending Environment_* controller, do it in the right way:
      
          public function before() {
              parent::before();   // always first
      
              // any magic you like most
          }
      248dfda3
  5. Jun 10, 2015
    • xamgore's avatar
      Controllers refactoring, code style · b2f7a5f8
      xamgore authored
      * Controller_UserEnvironment is an abstract class, which defines $twig variable, and calls $twig->render in the after() method.
      * $twig contains $twig->User variable by default.
      * As I have read, it's totally recommended not to use $twig->Variables, so I defined $twig->set([params]) syntax
      * Twig supports "fluent interface", so use $twig->set(...)->set_filename();
      * Divided DeanOffice/Credits.php & moved part to Handler/
      b2f7a5f8
  6. May 31, 2015
  7. Apr 26, 2015
  8. Mar 18, 2015
  9. Mar 09, 2015
  10. Feb 18, 2015
  11. Nov 09, 2014
  12. Sep 23, 2014