- Jun 15, 2015
- Jun 14, 2015
-
-
PavelBegunkov authored
-
xamgore authored
-
xamgore authored
Russian constants are moved to twig & RusLang modules. Functions were renamed to Semesters::load($id) & Semesters::loadAll().
-
PavelBegunkov authored
-
xamgore authored
-
PavelBegunkov authored
-
- Jun 13, 2015
-
-
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 }
-
- Jun 12, 2015
- Jun 11, 2015
- Jun 10, 2015
-
-
PavelBegunkov authored
1) Now user info stored in session 2) Merge GetAccountInfo & GetPersonalInfo
-
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/
-
- Jun 09, 2015
-
-
xamgore authored
-
- Jun 08, 2015
-
-
xamgore authored
+ new API methods + some code refactoring
-
- Jun 06, 2015
-
-
xamgore authored
/coursework/create — create new coursework /discipline/create — create new discipline /discipline/127 & /discipline/127/structure — edit the discipline with id 127 /discipline/127/students — edit the list of attached to discipline students Moved duplicate code to before() method, some other refactorings.
-
- Jun 05, 2015
-
-
xamgore authored
-
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.
-
- Jun 03, 2015
-
-
RomanSteinberg authored
-
- May 31, 2015
- May 30, 2015
- May 29, 2015
-
-
xamgore authored
-
- May 24, 2015
-
-
xamgore authored
-
xamgore authored
-
xamgore authored
-
RomanSteinberg authored
-
PavelBegunkov authored
-
- May 23, 2015
-
-
RomanSteinberg authored
-
- May 18, 2015
-
-
Роман Штейнберг authored
-
- May 17, 2015
-
-
pimka authored
-
RomanSteinberg authored
-
- May 14, 2015
-
-
RomanSteinberg authored
-
- Apr 26, 2015