Exemple #1
0
 static function validateDate($field, $request)
 {
     $req = $field->required;
     $start = FieldController::getFieldOption($field, 'Start');
     $end = FieldController::getFieldOption($field, 'End');
     $month = $request->input('month_' . $field->flid, '');
     $day = $request->input('day_' . $field->flid, '');
     $year = $request->input('year_' . $field->flid, '');
     if ($req == 1 && $month == '' && $day == '' && $year == '') {
         return $field->name . ' field is required.';
     }
     if ($year < $start | $year > $end && $month != '' | $day != '') {
         return 'Year supplied for field ' . $field->name . ' is not in the range of ' . $start . ' and ' . $end . '.';
     }
     if (!FieldController::validateDate($month, $day, $year)) {
         return 'Invalid date for field ' . $field->name . '. Either day given w/ no month provided, or day and month are impossible.';
     }
     return '';
 }
Exemple #2
0
 public function updateDefault($pid, $fid, $flid, FieldRequest $request)
 {
     if (!FieldController::checkPermissions($fid, 'edit')) {
         return redirect('projects/' . $pid . '/forms/' . $fid . '/fields');
     }
     if (!FieldController::validProjFormField($pid, $fid, $flid)) {
         return redirect('projects');
     }
     $field = FieldController::getField($flid);
     if ($field->type == 'Multi-Select List' | $field->type == 'Generated List' && !is_null($request->default)) {
         $reqDefs = $request->default;
         $def = $reqDefs[0];
         for ($i = 1; $i < sizeof($reqDefs); $i++) {
             $def .= '[!]' . $reqDefs[$i];
         }
         $field->default = $def;
     } else {
         if ($field->type == 'Date') {
             if (FieldController::validateDate($request->default_month, $request->default_day, $request->default_year)) {
                 $field->default = '[M]' . $request->default_month . '[M][D]' . $request->default_day . '[D][Y]' . $request->default_year . '[Y]';
             } else {
                 flash()->error('Invalid date. Either day given w/ no month provided, or day and month are impossible.');
                 return redirect('projects/' . $pid . '/forms/' . $fid . '/fields/' . $flid . '/options');
             }
         } else {
             $field->default = $request->default;
         }
     }
     $field->save();
     RevisionController::wipeRollbacks($fid);
     flash()->success('Option updated!');
     return redirect('projects/' . $pid . '/forms/' . $fid . '/fields/' . $flid . '/options');
 }