소스 검색

Support for "required" fields in actions

Vijayakrishnan 5 년 전
부모
커밋
a1a947201f
2개의 변경된 파일27개의 추가작업 그리고 13개의 파일을 삭제
  1. 18 4
      app/Console/Commands/GenerateTreeCommand.php
  2. 9 9
      generatecv/tree.txt

+ 18 - 4
app/Console/Commands/GenerateTreeCommand.php

@@ -903,6 +903,11 @@ class GenController {
         }
         $tokens = explode(":", $tokens[0]);
         $name = $tokens[0];
+        $required = false;
+        if($name[strlen($name) - 1] === '*') { // required field?
+            $required = true;
+            $name = substr($name, 0, strlen($name) - 1);
+        }
         $display = $name;
         $dotPos = strpos($name, ".");
         if($dotPos !== FALSE) {
@@ -927,12 +932,15 @@ class GenController {
         }
         if($type !== 'hidden' && $type !== 'bool') {
             $code[] = "<div class='form-group mb-3'>";
-            $code[] = "<label class='control-label'>{$this->camelToTitleCase($this->snakeToTitleCase($display))}</label>";
+            $code[] = "<label class='control-label'>{$this->camelToTitleCase($this->snakeToTitleCase($display))} " .
+                ($required ? "*" : "") .
+                "</label>";
         }
         $valueLine = "value='{{ old('$name') ? old('$name') : " . ($default ? "\$record->$default" : '\'\'') . " }}' ";
         switch ($type) {
             case "select":
                 $code[] = "<select class='form-control' name='$name' " . $valueLine .
+                    ($required ? "required" : "") .
                     ">";
                 $code[] = "<option value=''>-- Select --</option>";
                 foreach ($options as $o) {
@@ -944,6 +952,7 @@ class GenController {
                 break;
             case "record":
                 $code[] = "<select class='form-control' name='$name' " . $valueLine .
+                    ($required ? "required" : "") .
                     ">";
                 $code[] = "<option value=''>-- Select --</option>";
                 $code[] = "<?php \$dbOptions = \Illuminate\Support\Facades\DB::table('{$options['table']}')->get(); ?>";
@@ -956,12 +965,17 @@ class GenController {
                 break;
             case "bool":
                 $code[] = "<div class='form-group mb-3'>";
-                $code[] = "<label class='control-label'>{$this->camelToTitleCase($this->snakeToTitleCase($display))} ";
-                $code[] = "<input class='ml-2' type='checkbox' name='$name'>";
+                $code[] = "<label class='control-label'>{$this->camelToTitleCase($this->snakeToTitleCase($display))} " .
+                    ($required ? "*" : "");
+                $code[] = "<input class='ml-2' type='checkbox' name='$name' " .
+                    ($required ? "required" : "") .
+                    ">";
                 $code[] = "</label>";
                 break;
             default:
-                $code[] = "<input class='form-control' type='$type' name='$name' " . $valueLine . ">";
+                $code[] = "<input class='form-control' type='$type' name='$name' " . $valueLine .
+                    ($required ? "required" : "") .
+                    ">";
         }
         if($type !== 'hidden') {
             $code[] = "</div>";

+ 9 - 9
generatecv/tree.txt

@@ -8,8 +8,8 @@ PRO
         !col:ally_pro_id:Ally Pro:select name_display as result from pro where id = $ally_pro_id limit 1
         !col:client_count:Clients:select '- TODO -' as result
     my_teams/add_new:create
-        hcpProUid:record:pro:uid,name_display
-        allyProUid:record:pro:uid,name_display
+        hcpProUid*:record:pro:uid,name_display
+        allyProUid*:record:pro:uid,name_display
         teamNumber
     my_teams/view/{uid}
         ACTIONS
@@ -41,17 +41,17 @@ PRO
                 !col:team_id:Team:select team_number as result from team where id = $team_id limit 1
                 add_new:client
                     teamUid:hidden=uid
-                    nameDisplay
+                    nameDisplay*
                     namePrefix
-                    nameFirst
+                    nameFirst*
                     nameMiddle
-                    nameLast
+                    nameLast*
                     nameSuffix
                     nameCredential
-                    gender:select:M,F
-                    dateOfBirth:date
-                    cellNumber:tel
-                    emailAddress:email
+                    gender*:select:M,F
+                    dateOfBirth*:date
+                    cellNumber*:tel
+                    emailAddress*:email
                     medicareNumber
             audit_log
     my_clients|client|add|view