Skip to content
Snippets Groups Projects
  1. Mar 03, 2020
  2. Oct 08, 2017
  3. Sep 17, 2017
  4. Sep 13, 2017
  5. Sep 09, 2017
  6. Nov 12, 2016
  7. Sep 30, 2016
  8. Sep 25, 2016
  9. Aug 31, 2016
  10. May 18, 2016
    • PavelBegunkov's avatar
      fixes, refactoring & bug tramping (see description below) · e335c2d7
      PavelBegunkov authored
      - sql refactoring
      - fix incorrect function's Сase (handler/map.php)
      - fix group attaching (incorrect attaching/deattaching)
      - fix incorrect sql function usage (see InternalIsMapCreated in ChangeDisciplineControl)
      - fix grades without degree (sp CreateGrade), (+sql fixes file)
      - add error handling for module name changing
      - remove redundant console.log
      - fix lost extra rates (student index page)
      - improper exam rate (student index page)
      e335c2d7
  11. Jul 21, 2015
  12. Jul 04, 2015
  13. Jun 29, 2015
  14. Jun 27, 2015
  15. Jun 26, 2015
  16. Jun 21, 2015
    • PavelBegunkov's avatar
      another bunch of fixes (see below) · c87cb477
      PavelBegunkov authored
      1) fix Rating Model
      2) sql CreateSubject: restore expected behavior (see todo in commit "Refactoring of subjects upload page" 19.06.15)
      3) refactor and disable JavaAuth (see todo)
      c87cb477
  17. Jun 15, 2015
  18. Jun 14, 2015
  19. 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
  20. Jun 11, 2015
  21. 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
  22. Jun 05, 2015
    • xamgore's avatar
      Code refactoring · 898c14e6
      xamgore authored
      1. Discipline models have the direct access to fields, for example: $discipline->subjectName, so you don't have to remember them (press ctrl+space). Improves static code analysis. Also, if you make a mismatch, ErrorException will be thrown — this is the most important improvement.
      
      2. There are some operations on disciplines (attach new teacher, transfer discipline to another teacher, an so on), so you can use them: $discipline->attachTeacher(53).
      
      3. Discipline model has array access operators, so you must not convert instances with toArray() method. A common way is:
      
      /* PHP */
      $d = Model_Discipline::load($id);
      $d['extraField'] = 127;
      $twig->Discipline = $d;  // is ok, cause $d is like an array
      
      /* Twig */
      {{ Discipline.extraField }}   // call $d->offsetGet('extraField') method
      
      4. Models Faculty, Student, Teachers and Groups have `getDisciplines()` method, and an array of Model_Discipline will be returned.
      
      5. We use camelCase for all fields: in twig, on the PHP level and also in the database.
      898c14e6
  23. Jun 03, 2015
  24. May 30, 2015
  25. May 18, 2015
  26. May 17, 2015
  27. May 14, 2015
  28. Apr 26, 2015