/** * Create a deployment object from incomming form data * * @return object **/ public static function fromFormData($fid, $data) { $dep = new self(); $dep->formId = $fid; foreach (array('resultsOpen', 'resultsClosed', 'timeLimit', 'allowedAttempts') as $key) { if (!isset($data[$key])) { App::abort(422, 'expected a value to be supplied for ' . $key); return; } if (($key == 'endTime' || $key == 'startTime') && !empty($data[$key])) { $data[$key] = Date::of(strtotime($data[$key]))->toSql(); } $dep->{$key} = $data[$key]; } $dep->genNewCrumb(); return $dep; }