Przeglądaj źródła

Support for select types that load from the db

Vijayakrishnan Krishnan 5 lat temu
rodzic
commit
ad1a46a613

+ 14 - 2
app/Console/Commands/GenerateTreeCommand.php

@@ -501,6 +501,7 @@ class GenController {
         }
         $type = "text";
         $options = [];
+        $loadingCode = '';
         if(count($tokens) > 1) {
             $type = $tokens[1];
             switch ($type) {
@@ -508,8 +509,10 @@ class GenController {
                     $options = explode(",", $tokens[2]);
                     break;
                 case "record":
-                    $type = "select";
-                    // todo: code to load from table
+                    $options['table'] = $tokens[2];
+                    $parts = explode(",", $tokens[3]);
+                    $options['valueField'] = $parts[0];
+                    $options['displayField'] = $parts[1];
                     break;
             }
         }
@@ -524,6 +527,15 @@ class GenController {
                 }
                 $code[] = "</select>";
                 break;
+            case "record":
+                $code[] = "<select class='form-control' name='$name'>";
+                $code[] = "<option value=''>-- Select --</option>";
+                $code[] = "<?php \$dbOptions = \Illuminate\Support\Facades\DB::table('{$options['table']}')->get(); ?>";
+                $code[] = "<?php foreach(\$dbOptions as \$o): ?>";
+                $code[] = "<option value='<?= \$o->{$options['valueField']} ?>'><?= \$o->{$options['displayField']} ?> (<?= \$o->{$options['valueField']} ?>)</option>";
+                $code[] = "<?php endforeach; ?>";
+                $code[] = "</select>";
+                break;
             default:
                 $code[] = "<input class='form-control' type='$type' name='$name'>";
         }

+ 8 - 8
generatecv/tree.txt

@@ -3,8 +3,8 @@ PRO
 #    my_payment_schedule
     my_teams|team|add|view
     my_teams/add_new
-        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
@@ -16,9 +16,9 @@ PRO
             audit_log
     my_clients|client|add|view
     my_clients/add_new
-        teamUid:record:team:uid|team_number
-        mcpProUid:record:pro:uid|name_display
-        allyProUid:record:pro:uid|name_display
+        teamUid:record:team:uid,team_number
+        mcpProUid:record:pro:uid,name_display
+        allyProUid:record:pro:uid,name_display
         nameDisplay
         name.nameDisplay
         name.namePrefix
@@ -45,13 +45,13 @@ PRO
             putNewEmailAddress
                 newEmailAddress:email
             putTeam
-                teamUid:record:team:uid|team_number
+                teamUid:record:team:uid,team_number
 #           removeTeam
             putMcp
-                mcpProUid:record:pro:uid|name_display
+                mcpProUid:record:pro:uid,name_display
 #           removeMcp
             putAlly
-                allyProUid:record:pro:uid|name_display
+                allyProUid:record:pro:uid,name_display
 #           removeAlly
             putName
                 name.nameDisplay

+ 12 - 0
resources/views/pro/my_clients/add_new.blade.php

@@ -27,18 +27,30 @@
 <label class='control-label'>Team Uid</label>
 <select class='form-control' name='teamUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('team')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->team_number ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
 <div class='form-group mb-3'>
 <label class='control-label'>Mcp Pro Uid</label>
 <select class='form-control' name='mcpProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
 <div class='form-group mb-3'>
 <label class='control-label'>Ally Pro Uid</label>
 <select class='form-control' name='allyProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
 <div class='form-group mb-3'>

+ 4 - 0
resources/views/pro/my_clients_SINGLE/ACTION_putAlly.blade.php

@@ -22,6 +22,10 @@
 <label class='control-label'>Ally Pro Uid</label>
 <select class='form-control' name='allyProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
         <div class="form-group mb-3">

+ 4 - 0
resources/views/pro/my_clients_SINGLE/ACTION_putMcp.blade.php

@@ -22,6 +22,10 @@
 <label class='control-label'>Mcp Pro Uid</label>
 <select class='form-control' name='mcpProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
         <div class="form-group mb-3">

+ 4 - 0
resources/views/pro/my_clients_SINGLE/ACTION_putTeam.blade.php

@@ -22,6 +22,10 @@
 <label class='control-label'>Team Uid</label>
 <select class='form-control' name='teamUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('team')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->team_number ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
         <div class="form-group mb-3">

+ 8 - 0
resources/views/pro/my_teams/add_new.blade.php

@@ -27,12 +27,20 @@
 <label class='control-label'>Hcp Pro Uid</label>
 <select class='form-control' name='hcpProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
 <div class='form-group mb-3'>
 <label class='control-label'>Ally Pro Uid</label>
 <select class='form-control' name='allyProUid'>
 <option value=''>-- Select --</option>
+<?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
+<?php foreach($dbOptions as $o): ?>
+<option value='<?= $o->uid ?>'><?= $o->name_display ?> (<?= $o->uid ?>)</option>
+<?php endforeach; ?>
 </select>
 </div>
 <div class='form-group mb-3'>