/**
  * 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;
 }