diff --git a/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php b/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php index ec119996c2117458da22e73dffb19fdcd2cf39ea..ecb120e971710998e30c3a9e5553c5fd29384a11 100644 --- a/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php +++ b/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php @@ -9,11 +9,17 @@ class Model_Helper_CourseWorkBuilder extends Model_Helper_Builder 'Lectures' => 0, 'Practice' => 0, 'Labs' => 0, + 'Milestone' => null, 'IsLocked' => false, 'Type' => 'grading_credit', ]; - if (count($this->data) < 11) # fixme: bad const + $required = [ + 'Subtype', 'IsLocked', 'Milestone', 'AuthorID', 'GradeID', 'FacultyID', + 'SubjectID', 'Lectures', 'Practice', 'Labs', 'Type', 'SemesterID' + ]; + + if (array_diff($required, array_keys($this->data))) throw new InvalidArgumentException('not enough arguments'); return new Model_CourseWork($this->data, false); diff --git a/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php b/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php index 21d8218fd2a04131dbf871d26c5c940732d69cc9..b6e0b88a44c27acb7adf4eeaf6ded144474ab679 100644 --- a/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php +++ b/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php @@ -9,7 +9,12 @@ class Model_Helper_DisciplineBuilder extends Model_Helper_Builder 'Milestone' => 0, ]; - if (count($this->data) < 12) # fixme: bad const + $required = [ + 'Subtype', 'IsLocked', 'Milestone', 'AuthorID', 'GradeID', 'FacultyID', + 'SubjectID', 'Lectures', 'Practice', 'Labs', 'Type', 'SemesterID' + ]; + + if (array_diff($required, array_keys($this->data))) throw new InvalidArgumentException('not enough arguments'); return new Model_Discipline($this->data, false);