Flavionel 5 vuotta sitten
vanhempi
commit
31e9f7eef3
100 muutettua tiedostoa jossa 1620 lisäystä ja 676 poistoa
  1. 352 30
      app/Console/Commands/GenerateTreeCommand.php
  2. 13 4
      app/Http/Controllers/ClientController.php
  3. 6 1
      app/Http/Controllers/MeetingCenterController.php
  4. 15 21
      app/Http/Controllers/my_clients_SINGLE_Controller.php
  5. 67 0
      app/Http/Controllers/my_payment_schedule_SINGLE_Controller.php
  6. 6 0
      app/Http/Controllers/my_teams_SINGLE_Controller.php
  7. 12 0
      app/Http/Controllers/pros_SINGLE_Controller.php
  8. 2 5
      app/HttpModels/LobbyModel.php
  9. 6 0
      app/HttpModels/MeetingModel.php
  10. 16 0
      app/HttpModels/MeetingWithLobbyModel.php
  11. 5 0
      app/Models/AppSession.php
  12. 10 1
      app/Models/Meeting.php
  13. 6 1
      app/Models/MeetingParticipant.php
  14. 14 0
      generatecv/tree-templates/dashboard-group.template.blade.php
  15. 7 0
      generatecv/tree-templates/dashboard-grouped-nal.template.blade.php
  16. 12 0
      generatecv/tree-templates/dashboard-grouped.template.blade.php
  17. 23 0
      generatecv/tree-templates/dashboard-nal.template.blade.php
  18. 5 5
      generatecv/tree-templates/dashboard.template.blade.php
  19. 1 1
      generatecv/tree-templates/index.template.blade.php
  20. 3 0
      generatecv/tree-templates/info.template.blade.php
  21. 8 15
      generatecv/tree-templates/show.template.blade.php
  22. 3 3
      generatecv/tree-templates/sub-index.template.blade.php
  23. 103 46
      generatecv/tree.txt
  24. 657 0
      generatecv/tree_detailed.txt
  25. 3 0
      resources/js/components/pages/ClientEntrance.vue
  26. 17 10
      resources/js/components/pages/MeetingsAppRoot.vue
  27. 1 0
      resources/js/components/partials/LobbyList.vue
  28. 25 21
      resources/js/components/partials/MeetingRoom.vue
  29. 1 1
      resources/views/admin/facilities/index.blade.php
  30. 3 0
      resources/views/admin/facilities/info.blade.php
  31. 8 15
      resources/views/admin/facilities/view.blade.php
  32. 1 1
      resources/views/admin/facilities_SINGLE/ACTION_deactivate.blade.php
  33. 1 1
      resources/views/admin/facilities_SINGLE/ACTION_reactivate.blade.php
  34. 13 13
      resources/views/admin/facilities_SINGLE/ACTION_updateBasic.blade.php
  35. 1 1
      resources/views/admin/facilities_SINGLE/ACTION_updateDeactivationMemo.blade.php
  36. 1 1
      resources/views/admin/facilities_SINGLE/ACTION_updateReactivationMemo.blade.php
  37. 1 1
      resources/views/admin/facilities_SINGLE/SUB_action_items.blade.php
  38. 1 1
      resources/views/admin/facilities_SINGLE/SUB_audit_log.blade.php
  39. 1 29
      resources/views/admin/facilities_SINGLE/SUB_dashboard.blade.php
  40. 1 1
      resources/views/admin/facilities_SINGLE/SUB_erx.blade.php
  41. 4 4
      resources/views/admin/lobbies/add_new.blade.php
  42. 1 1
      resources/views/admin/lobbies/index.blade.php
  43. 3 0
      resources/views/admin/lobbies/info.blade.php
  44. 8 15
      resources/views/admin/lobbies/view.blade.php
  45. 1 1
      resources/views/admin/lobbies_SINGLE/ACTION_lobby_prosAddNew.blade.php
  46. 1 1
      resources/views/admin/lobbies_SINGLE/ACTION_putName.blade.php
  47. 1 1
      resources/views/admin/lobbies_SINGLE/ACTION_putUrlSlug.blade.php
  48. 1 29
      resources/views/admin/lobbies_SINGLE/SUB_dashboard.blade.php
  49. 3 3
      resources/views/admin/lobbies_SINGLE/SUB_lobby_pros.blade.php
  50. 3 3
      resources/views/admin/lobbies_SINGLE/SUB_meetings.blade.php
  51. 1 1
      resources/views/admin/meeting_invitations/index.blade.php
  52. 3 0
      resources/views/admin/meeting_invitations/info.blade.php
  53. 8 15
      resources/views/admin/meeting_invitations/view.blade.php
  54. 1 1
      resources/views/admin/meeting_invitations_SINGLE/ACTION_cancel.blade.php
  55. 1 29
      resources/views/admin/meeting_invitations_SINGLE/SUB_dashboard.blade.php
  56. 1 1
      resources/views/admin/meeting_knocks/index.blade.php
  57. 3 0
      resources/views/admin/meeting_knocks/info.blade.php
  58. 8 15
      resources/views/admin/meeting_knocks/view.blade.php
  59. 1 29
      resources/views/admin/meeting_knocks_SINGLE/SUB_dashboard.blade.php
  60. 1 1
      resources/views/admin/meeting_messages/index.blade.php
  61. 3 0
      resources/views/admin/meeting_messages/info.blade.php
  62. 8 15
      resources/views/admin/meeting_messages/view.blade.php
  63. 1 29
      resources/views/admin/meeting_messages_SINGLE/SUB_dashboard.blade.php
  64. 1 1
      resources/views/admin/meeting_participants/index.blade.php
  65. 3 0
      resources/views/admin/meeting_participants/info.blade.php
  66. 8 15
      resources/views/admin/meeting_participants/view.blade.php
  67. 1 29
      resources/views/admin/meeting_participants_SINGLE/SUB_dashboard.blade.php
  68. 1 1
      resources/views/admin/meeting_rings/index.blade.php
  69. 3 0
      resources/views/admin/meeting_rings/info.blade.php
  70. 8 15
      resources/views/admin/meeting_rings/view.blade.php
  71. 1 29
      resources/views/admin/meeting_rings_SINGLE/SUB_dashboard.blade.php
  72. 5 5
      resources/views/admin/meetings/add_new.blade.php
  73. 1 1
      resources/views/admin/meetings/index.blade.php
  74. 3 0
      resources/views/admin/meetings/info.blade.php
  75. 8 15
      resources/views/admin/meetings/view.blade.php
  76. 4 4
      resources/views/admin/meetings_SINGLE/ACTION_meeting_invitationsAddNew.blade.php
  77. 3 3
      resources/views/admin/meetings_SINGLE/ACTION_meeting_participantsAddNew.blade.php
  78. 1 1
      resources/views/admin/meetings_SINGLE/ACTION_putLobby.blade.php
  79. 8 8
      resources/views/admin/meetings_SINGLE/ACTION_putStrangerInfo.blade.php
  80. 1 1
      resources/views/admin/meetings_SINGLE/ACTION_putTargetLobbyPro.blade.php
  81. 1 1
      resources/views/admin/meetings_SINGLE/ACTION_putTitle.blade.php
  82. 1 29
      resources/views/admin/meetings_SINGLE/SUB_dashboard.blade.php
  83. 3 3
      resources/views/admin/meetings_SINGLE/SUB_meeting_invitations.blade.php
  84. 3 3
      resources/views/admin/meetings_SINGLE/SUB_meeting_knocks.blade.php
  85. 3 3
      resources/views/admin/meetings_SINGLE/SUB_meeting_messages.blade.php
  86. 3 3
      resources/views/admin/meetings_SINGLE/SUB_meeting_participants.blade.php
  87. 3 3
      resources/views/admin/meetings_SINGLE/SUB_meeting_rings.blade.php
  88. 1 1
      resources/views/admin/pro_rates/index.blade.php
  89. 3 0
      resources/views/admin/pro_rates/info.blade.php
  90. 8 15
      resources/views/admin/pro_rates/view.blade.php
  91. 1 1
      resources/views/admin/pro_rates_SINGLE/ACTION_updateAmount.blade.php
  92. 1 29
      resources/views/admin/pro_rates_SINGLE/SUB_dashboard.blade.php
  93. 2 0
      resources/views/admin/pros/actions.blade.php
  94. 13 13
      resources/views/admin/pros/add_new.blade.php
  95. 1 1
      resources/views/admin/pros/index.blade.php
  96. 3 0
      resources/views/admin/pros/info.blade.php
  97. 8 15
      resources/views/admin/pros/view.blade.php
  98. 2 2
      resources/views/admin/pros_SINGLE/ACTION_confirmCellNumberWithConfirmationToken.blade.php
  99. 2 2
      resources/views/admin/pros_SINGLE/ACTION_confirmEmailAddressWithConfirmationToken.blade.php
  100. 1 1
      resources/views/admin/pros_SINGLE/ACTION_lobby_prosAddNew.blade.php

+ 352 - 30
app/Console/Commands/GenerateTreeCommand.php

@@ -96,6 +96,11 @@ class GenerateTreeCommand extends Command
                 $hasView = in_array("view", $tokens);
                 $hasRemove = in_array("remove", $tokens);
 
+                $icon = "user";
+                if(strpos($tokens[count($tokens) - 1], "icon:") === 0) {
+                    $icon = substr($tokens[count($tokens) - 1], 5);
+                }
+
                 switch($ls) {
 
                     case 4: // top level controller OR top level controller action
@@ -133,13 +138,13 @@ class GenerateTreeCommand extends Command
                             if(!empty($currentController)) {
                                 $currentController->save();
                             }
-                            $currentController = new GenController($currentRoot, $line);
+                            $currentController = new GenController($currentRoot, $line, $icon);
                             $currentController->dbTable = $dbTable;
                             $currentController->condition = $condition;
                             $currentController->hasAdd = $hasAdd;
                             $currentController->hasView = $hasView;
                             $currentController->hasRemove = $hasRemove;
-                            $currentController->addMethod("index", "/$line");
+                            $currentMethod = $currentController->addMethod("index", "/$line");
                             if(!empty($currentSubController)) {
                                 $currentSubController->save();
                             }
@@ -149,17 +154,37 @@ class GenerateTreeCommand extends Command
                             $sideLinks[] = "<li class='nav-item'><a href='/{$currentController->name}' " .
                                 "class='nav-link " .
                                 "{{ (isset(request()->route()->getController()->selfName) && strpos(request()->route()->getController()->selfName, '{$currentController->name}') === 0 ? 'active' : '') }}" . " '>" .
-                                "<i class='nav-icon fa fa-user'></i>" .
+                                "<i class='nav-icon fa fa-$icon'></i>" .
                                 "<p>" . $currentController->snakeToTitleCase($currentController->name) . "</p>" .
                                 "</a></li>";
                         }
                         break;
 
-                    case 8: // sub-type declaration | add_new fields
+                    case 8: // sub-type declaration | add_new fields | !inc/!exc
 
                         if($line === 'ACTIONS' || $line === 'SUB') {
                             $currentSubType = $line;
                         }
+                        else if(strpos($line, "!inc:") === 0) { // !inc:
+                            if (!empty($currentMethod)) {
+                                $currentMethod->setIncFields('include', explode(",", substr($line, 5)));
+                            }
+                        }
+                        else if(strpos($line, "!exc:") === 0) { // !exc:
+                            if (!empty($currentMethod)) {
+                                $currentMethod->setIncFields('exclude', explode(",", substr($line, 5)));
+                            }
+                        }
+                        else if(strpos($line, "!lnk:") === 0) { // !lnk:
+                            if (!empty($currentMethod)) {
+                                $currentMethod->viewLinkField = substr($line, 5);
+                            }
+                        }
+                        else if(strpos($line, "!col:") === 0) { // !col:
+                            if (!empty($currentMethod)) {
+                                $currentMethod->setColumnSpec(substr($line, 5), $exitURL, 'record');
+                            }
+                        }
                         else if (!empty($currentMethod) &&
                             (strpos($currentMethod->name, 'add_new') === 0 ||
                                 $currentMethod->name === 'remove')) { // this is a field in add_new
@@ -199,17 +224,54 @@ class GenerateTreeCommand extends Command
                         break;
 
                     case 16: // data for actions and subs
-                        if(!empty($currentMethod)) {
-                            $currentMethod->data[] = $line;
-                            if($exitURL) {
-                                if(strpos("=", $line) !== FALSE) {
-                                    $currentMethod->viewURL = $exitURL;
+                            if(strpos($line, "!inc:") === 0) { // !inc:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->setIncFields('include', explode(",", substr($line, 5)));
                                 }
-                                else {
-                                    $currentMethod->exitURL = $exitURL;
+                            }
+                            else if(strpos($line, "!exc:") === 0) { // !exc:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->setIncFields('exclude', explode(",", substr($line, 5)));
+                                }
+                            }
+                            else if(strpos($line, "!lnk:") === 0) { // !lnk:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->viewLinkField = substr($line, 5);
+                                }
+                            }
+                            else if(strpos($line, "!col:") === 0) { // !col:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->setColumnSpec(substr($line, 5), $exitURL,
+                                        $currentMethod->dashboard ? 'record' : 'subRecord'
+                                    );
+                                }
+                            }
+                            else if(strpos($line, "!grp:") === 0) { // !grp:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->addGroup(substr($line, 5), $exitURL);
+                                }
+                            }
+                            else if(strpos($line, "!act:") === 0) { // !act:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->addAction(substr($line, 5), $exitURL);
+                                }
+                            }
+                            else if(strpos($line, "!nal:") === 0) { // !nal:
+                                if (!empty($currentMethod)) {
+                                    $currentMethod->noActionLinks = true;
+                                }
+                            }
+                            else if(!empty($currentMethod)) {
+                                $currentMethod->data[] = $line;
+                                if($exitURL) {
+                                    if(strpos("=", $line) !== FALSE) {
+                                        $currentMethod->viewURL = $exitURL;
+                                    }
+                                    else {
+                                        $currentMethod->exitURL = $exitURL;
+                                    }
                                 }
                             }
-                        }
                         break;
 
                     case 20: // SUB add_new fields
@@ -270,10 +332,12 @@ class GenController {
     public $parentControllerName = '';
     public $subLinksSaved = false;
     public $actionLinksSaved = false;
-    public function __construct($root = null, $name = null)
+    public $icon = "user";
+    public function __construct($root = null, $name = null, $icon = "user")
     {
         $this->root = $root;
         $this->name = $name;
+        $this->icon = $icon;
         $this->methods = [];
     }
     public function addMethod($method, $route) {
@@ -456,12 +520,43 @@ class GenController {
                 "<i class='fa fa-trash'></i>" .
                 "</a></td>";
         }
+
+        // !inc/!exc
+        if($method->incType === "include") {
+            $columns = $method->incFields;
+        }
+        else if($method->incType === "exclude") {
+            $columns = array_filter($columns, function($item) use ($method) {
+                return in_array($item, $method->incFields) === FALSE;
+            });
+        }
+
         foreach ($columns as $column) {
-            $ths[] = "<th>{$this->snakeToTitleCase($column)}</th>";
+
+            $columnTitle = $this->snakeToTitleCase($column);
+            $columnValue = "<?= \$record->$column ?>";
+            $hasLink = $controller->hasView && $column === $method->viewLinkField;
+            $linkTarget = "/{$controller->name}/view/<?= \$record->uid ?>";
+
+            // check if this column has column spec
+            if(isset($method->columns[$column])) {
+                $columnTitle = $method->columns[$column]["label"];
+                if(isset($method->columns[$column]["query"])) {
+                    $columnValue = "<?php \$_r = \Illuminate\Support\Facades\DB::" .
+                        "select(\"{$method->columns[$column]["query"]}\");\n" .
+                        "echo (\$_r && count(\$_r)) ? \$_r[0]->result : '-'; ?>";
+                }
+                if(isset($method->columns[$column]["link"])) {
+                    $hasLink = true;
+                    $linkTarget = $method->columns[$column]["link"];
+                }
+            }
+
+            $ths[] = "<th>$columnTitle</th>";
             $tds[] = "<td>" .
-                ($controller->hasView && $column === 'uid' ? '<a href="/' . $controller->name . '/view/<?= $record->uid ?>">' : '') .
-                "<?= \$record->$column ?>" .
-                ($controller->hasView && $column === 'uid' ? '</a>' : '') .
+                ($hasLink ? "<a href=\"{$linkTarget}\">" : "") .
+                $columnValue .
+                ($hasLink ? "</a>" : "") .
                 "</td>";
         }
         $text = str_replace("<!-- __SCAFFOLD_THS__ -->", implode("\n", $ths), $text);
@@ -479,11 +574,21 @@ class GenController {
             unlink(resource_path("views/{$controller->root}/{$controller->parentControllerName}/actions.blade.php"));
         }
 
+        // write info view
+        $text = file_get_contents(base_path('generatecv/tree-templates/info.template.blade.php'));
+        $text = str_replace("_NAME_", $this->snakeToTitleCase($controller->name), $text);
+        $text = str_replace("_UID_", '<?= $record->uid ?>', $text);
+        $text = str_replace("_INDEX_ROUTE_", $controller->name . '-index', $text);
+        $this->file_force_contents(resource_path("views/{$controller->root}/{$controller->name}/info.blade.php"), $text);
+        echo "Generated " . resource_path("views/{$controller->root}/{$controller->name}/info.blade.php") . "\n";
+
+        // write main view
         $text = file_get_contents(base_path('generatecv/tree-templates/show.template.blade.php'));
         $text = str_replace("_NAME_", $this->snakeToTitleCase($controller->name), $text);
         $text = str_replace("_UID_", '<?= $record->uid ?>', $text);
         $text = str_replace("_INDEX_ROUTE_", $controller->name . '-index', $text);
         $text = str_replace("_SUB_LINKS_VIEW_", "{$controller->root}/{$controller->name}/subs", $text);
+        $text = str_replace("_INFO_VIEW_", "{$controller->root}/{$controller->name}/info", $text);
         $this->file_force_contents(resource_path("views/{$controller->root}/{$controller->name}/{$method->name}.blade.php"), $text);
         echo "Generated " . resource_path("views/{$controller->root}/{$controller->name}/{$method->name}.blade.php") . "\n";
     }
@@ -589,13 +694,45 @@ class GenController {
 
         $ths = [];
         $tds = [];
+
+        // !inc/!exc
+        if($method->incType === "include") {
+            $columns = $method->incFields;
+        }
+        else if($method->incType === "exclude") {
+            $columns = array_filter($columns, function($item) use ($method) {
+                return in_array($item, $method->incFields) === FALSE;
+            });
+        }
+
         foreach ($columns as $column) {
-            $ths[] = "<th>{$this->snakeToTitleCase($column)}</th>";
+
+            $columnTitle = $this->snakeToTitleCase($column);
+            $columnValue = "<?= \$subRecord->$column ?>";
+            $hasLink = $method->exitURL && $column === $method->viewLinkField;
+            $linkTarget = $method->exitURL;
+
+            // check if this column has column spec
+            if(isset($method->columns[$column])) {
+                $columnTitle = $method->columns[$column]["label"];
+                if(isset($method->columns[$column]["query"])) {
+                    $columnValue = "<?php \$_r = \Illuminate\Support\Facades\DB::" .
+                        "select(\"{$method->columns[$column]["query"]}\");\n" .
+                        "echo (\$_r && count(\$_r)) ? \$_r[0]->result : '-'; ?>";
+                }
+                if(isset($method->columns[$column]["link"])) {
+                    $hasLink = true;
+                    $linkTarget = $method->columns[$column]["link"];
+                }
+            }
+
+            $ths[] = "<th>$columnTitle</th>";
             $tds[] = "<td>" .
-                ($method->exitURL && $column === 'uid' ? '<a href="' . $method->exitURL . '">' : '') .
-                "<?= \$subRecord->$column ?>" .
-                ($method->exitURL && $column === 'uid' ? '</a>' : '') .
+                ($hasLink ? "<a href=\"{$linkTarget}\">" : "") .
+                $columnValue .
+                ($hasLink ? "</a>" : "") .
                 "</td>";
+
         }
         $text = str_replace("<!-- __SCAFFOLD_THS__ -->", implode("\n", $ths), $text);
         $text = str_replace("<!-- __SCAFFOLD_TDS__ -->", implode("\n", $tds), $text);
@@ -603,18 +740,114 @@ class GenController {
         echo "Generated " . resource_path("views/{$controller->root}/{$controller->name}/{$method->name}.blade.php") . "\n";
     }
     public function generateSubContent(GenController $controller, GenControllerMethod $method, $text) {
-        if($method->name === 'SUB_dashboard') {
-            $html = file_get_contents(base_path('generatecv/tree-templates/dashboard.template.blade.php'));
+        if($method->dashboard) {
+            if(!isset($method->groups) || !count($method->groups)) {
+                $html = file_get_contents(base_path('generatecv/tree-templates/dashboard' . ($method->noActionLinks ? '-nal' : '') . '.template.blade.php'));
+            }
+            else {
+                $html = file_get_contents(base_path('generatecv/tree-templates/dashboard-grouped' . ($method->noActionLinks ? '-nal' : '') . '.template.blade.php'));
+                $groupsHtml = [];
+                $groupTemplate = file_get_contents(base_path('generatecv/tree-templates/dashboard-group.template.blade.php'));
+                foreach ($method->groups as $group) {
+                    $groupHtml = $groupTemplate;
+                    $groupHtml = str_replace("<!-- __GROUP_NAME__ -->", $group["name"], $groupHtml);
+                    if (isset($group["action"])) {
+                        $action = $group["action"];
+                        $actionLine = [];
+                        if (isset($action["condition"])) {
+                            if ($action["condition"] === "if") {
+                                $actionLine[] = "@if(";
+                            } else {
+                                $actionLine[] = "@if(!";
+                            }
+                            $actionLine[] = "\$record->{$action["field"]})";
+                        }
+                        $actionLine[] = "<a " .
+                            'up-modal=".form-contents" up-width="800" up-history="false" ' .
+                            "href='{$action["link"]}' title='{$action["label"]}' class='ml-2 text-dark font-weight-normal'>" .
+                            "<i class='fa fa-{$action["icon"]} text-sm'></i>" .
+                            "</a>";
+                        if (isset($action["condition"])) {
+                            $actionLine[] = "@endif";
+                        }
+                        $actionLine = implode(" ", $actionLine);
+                        $groupHtml = str_replace("<!-- __GROUP_ACTION__ -->", $actionLine, $groupHtml);
+                    }
+                    $fields = [];
+                    foreach ($group["fields"] as $field) {
+
+                        $columnTitle = $this->snakeToTitleCase($field);
+                        $columnValue = "<?= \$record->$field ?>";
+                        $hasLink = false;
+                        $linkTarget = null;
+                        $actions = [];
+
+                        // check if this column has column spec
+                        if(isset($method->columns[$field])) {
+                            $columnTitle = $method->columns[$field]["label"];
+                            if(isset($method->columns[$field]["query"])) {
+                                $columnValue = "<?php \$_r = \Illuminate\Support\Facades\DB::" .
+                                    "select(\"{$method->columns[$field]["query"]}\");\n" .
+                                    "echo (\$_r && count(\$_r)) ? \$_r[0]->result : '-'; ?>";
+                            }
+                            if(isset($method->columns[$field]["link"])) {
+                                $hasLink = true;
+                                $linkTarget = $method->columns[$field]["link"];
+                            }
+                        }
+
+                        if(isset($method->columnActions[$field])) {
+                            foreach($method->columnActions[$field] as $action) {
+                                $actionLine = [];
+                                if(isset($action["condition"])) {
+                                    if($action["condition"] === "if") {
+                                        $actionLine[] = "@if(";
+                                    }
+                                    else {
+                                        $actionLine[] = "@if(!";
+                                    }
+                                    $actionLine[] = "\$record->{$action["field"]})";
+                                }
+                                $actionLine[] = "<a " .
+                                    'up-modal=".form-contents" up-width="800" up-history="false" ' .
+                                    "href='{$action["link"]}' title='{$action["label"]}' class='ml-2 text-dark font-weight-normal'>" .
+                                    "<i class='fa fa-{$action["icon"]} text-sm'></i>" .
+                                    "</a>";
+                                if(isset($action["condition"])) {
+                                    $actionLine[] = "@endif";
+                                }
+                                $actionLine = implode(" ", $actionLine);
+                                $actions[] = $actionLine;
+                            }
+                        }
+                        $actions = implode("\n", $actions);
+
+                        $fields[] = "<tr>" .
+                            "<td class=\"w-25 px-2 text-secondary border-right\">$columnTitle</td>" .
+                            "<td class=\"w-75 px-2 font-weight-bold\">" .
+                                ($hasLink ? "<a href=\"{$linkTarget}\">" : "") .
+                                $columnValue .
+                                ($hasLink ? "</a>" : "") .
+                                $actions .
+                            "</td>" .
+                        "</tr>";
+                    }
+                    $groupHtml = str_replace("<!-- __GROUP_FIELDS__ -->", implode("\n", $fields), $groupHtml);
+                    $groupsHtml[] = $groupHtml;
+                }
+                $groupsHtml = implode("\n", $groupsHtml);
+                $html = str_replace("<!-- _GROUPS_ -->", $groupsHtml, $html);
+            }
             $text = str_replace("_SUB_VIEW_", $html, $text);
             $text = str_replace("_ACTION_LINKS_VIEW_", "{$controller->root}/{$controller->parentControllerName}/actions", $text);
         }
         else {
             $text = str_replace("_SUB_VIEW_",
-                "<h4 class='py-3 border-bottom'>" .
-                $this->camelToTitleCase($this->snakeToTitleCase($method->name)) . "</h4>" .
+                "<h5 class='py-3 border-bottom'>" .
+                $this->camelToTitleCase($this->snakeToTitleCase($method->name)) . "</h5>" .
                 "Controller: <b>{$controller->name}</b><br>" .
                 "Action: <b>{$method->name}()</b><br>" .
-                "View: <b>{$controller->root}/{$controller->name}/{$method->name}.blade.php</b><br>",
+                "View: <b>{$controller->root}/{$controller->name}/{$method->name}.blade.php</b><br><br>",
                 $text);
         }
         return $text;
@@ -707,6 +940,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) {
@@ -731,12 +969,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) {
@@ -748,6 +989,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(); ?>";
@@ -760,12 +1002,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>";
@@ -789,6 +1036,14 @@ class GenControllerMethod {
     public $viewURL = false;
     public $exitURL = false;
     public $showLink = true;
+    public $incType = null;
+    public $incFields = null;
+    public $viewLinkField = 'uid';
+    public $columns = [];
+    public $columnActions = [];
+    public $groups = [];
+    public $dashboard = false;
+    public $noActionLinks = false;
     public function __construct($name, $route)
     {
         $this->name = $name;
@@ -797,4 +1052,71 @@ class GenControllerMethod {
             $this->hasUID = true;
         }
     }
+    public function setIncFields($type, $fields) {
+        $this->incType = $type;
+        $this->incFields = $fields;
+        for ($i = 0; $i < count($this->incFields); $i++) {
+            if($this->incFields[$i][0] === '@') {
+                $this->incFields[$i] = substr($this->incFields[$i], 1);
+                $this->viewLinkField = $this->incFields[$i];
+            }
+        }
+    }
+    public function setColumnSpec($line, $link, $recordVariable) {
+        // ally_pro_id:Ally Pro:select name_display as 'result' from pro where id = $ally_pro_id limit 1
+        $parts = explode(":", $line);
+        $spec = [
+            "label" => $parts[1]
+        ];
+        if(count($parts) > 2) {
+            $query = $parts[2];
+            $query = preg_replace("/\\$([a-zA-Z0-9_]+)/", "\" . ($$recordVariable->$1 ? $$recordVariable->$1 : -1) . \"", $query);
+            $spec['query'] = $query;
+        }
+        if($link) {
+            $spec['link'] = preg_replace("/\\$([a-zA-Z0-9_]+)/", "<?= \$$recordVariable->$1 ?>", $link);
+        }
+        $this->columns[$parts[0]] = $spec;
+    }
+    public function addGroup($line, $link) {
+        // Basic Details:id,uid,created_at,clients_count
+        $parts = explode(":", $line);
+        $group = [
+            "name" => $parts[0],
+            "fields" => explode(",", $parts[1])
+        ];
+        // is there a group action
+        if(count($parts) > 2) {
+            $actionParts = ["-"];
+            for($i = 2; $i < count($parts); $i++) {
+                $actionParts[] = $parts[$i];
+            }
+            $actionParts = implode(":", $actionParts);
+            $group["action"] = $this->addAction($actionParts, $link, true);
+        }
+        $this->groups[] = $group;
+        $this->dashboard = true;
+    }
+    public function addAction($line, $link, $group = false) {
+        // is_active:Deactivate:deactivate:edit:if:is_active
+        $parts = explode(":", $line);
+        $action = [
+            "label" => $parts[1],
+            "icon" => isset($parts[2]) ? $parts[2] : 'edit'
+        ];
+        if(count($parts) >= 5 ) {
+            $action["condition"] = $parts[3];
+            $action["field"] = $parts[4];
+        }
+        if($link) {
+            $action['link'] = preg_replace("/\\$([a-zA-Z0-9_]+)/", "<?= \$record->$1 ?>", $link);
+        }
+        if(!$group) {
+            if(!isset($this->columnActions[$parts[0]])) {
+                $this->columnActions[$parts[0]] = [];
+            }
+            $this->columnActions[$parts[0]][] = $action;
+        }
+        return $action;
+    }
 }

+ 13 - 4
app/Http/Controllers/ClientController.php

@@ -5,6 +5,8 @@ namespace App\Http\Controllers;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Http;
 use App\HttpModels\ClientLobbyModel;
+use App\HttpModels\MeetingModel;
+use App\Models\AppSession;
 
 use Cookie;
 
@@ -18,7 +20,7 @@ class ClientController extends Controller
         $sessionKey = Cookie::get('sessionKey');
 
         $lobbyModel = new ClientLobbyModel($lobby);
-        $response = response()->view('client/index',compact('lobbyModel'),200);
+        // $response = response()->view('client/index',compact('lobbyModel'),200);
 
         if(!$sessionKey){
             $loginUrl = env('BACKEND_URL', 'http://localhost:8080') . '/api/session/createStrangerSession';
@@ -31,15 +33,22 @@ class ClientController extends Controller
 
             $sessionKey = $httpResponse['data'];
 
-            $cookie = cookie()->forever('sessionKey', $sessionKey, '/');
+            // $cookie = cookie()->forever('sessionKey', $sessionKey, '/');
+
+            cookie()->queue('sessionKey', $sessionKey, 1440, '/');
 
             // $response = new \Illuminate\Http\Response(view('client/index'));
-            $response->withCookie($cookie);
+            // $response->withCookie($cookie);
             // return $response;
         }
         // else {
         //     return view('client/index');
         // }
-        return $response;
+        $session = AppSession::where("session_key",$sessionKey)->first();
+        $meeting = null;
+        if ($session->meetingParticipant && $session->meetingParticipant->meeting->lobby_id === $lobby->id) {
+            $meeting = new MeetingModel($session->meetingParticipant->meeting);
+        }
+        return view('client/index',compact('lobbyModel','meeting'));
 	}
 }

+ 6 - 1
app/Http/Controllers/MeetingCenterController.php

@@ -8,6 +8,7 @@ use Illuminate\Http\Request;
 use App\Models\Pro;
 use App\Models\AppSession;
 use App\HttpModels\ProModel;
+use App\HttpModels\MeetingWithLobbyModel;
 
 class MeetingCenterController extends Controller
 {
@@ -22,8 +23,12 @@ class MeetingCenterController extends Controller
 
         $appSession = AppSession::where("session_key",$sessionKey)->first();
         $user = new ProModel($appSession->pro);
+        $meeting = null;
+        if ($appSession->meetingParticipant) {
+            $meeting = new MeetingWithLobbyModel($appSession->meetingParticipant->meeting);
+        }
 
-        return view('mc', compact('page','user'));
+        return view('mc', compact('page','user','meeting'));
     }
 
 }

+ 15 - 21
app/Http/Controllers/my_clients_SINGLE_Controller.php

@@ -28,10 +28,22 @@ class my_clients_SINGLE_Controller extends Controller
 		return response()->view('pro/my_clients_SINGLE/ACTION_sendEmailAddressConfirmationMessage', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
 	}
 
-	// GET /my_clients/view/{uid}/ACTION_putNewEmailAddress
-	public function ACTION_putNewEmailAddress(Request $request, $uid) {
+	// GET /my_clients/view/{uid}/ACTION_putName
+	public function ACTION_putName(Request $request, $uid) {
 		$record = DB::table('client')->where('uid', $uid)->first();
-		return response()->view('pro/my_clients_SINGLE/ACTION_putNewEmailAddress', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+		return response()->view('pro/my_clients_SINGLE/ACTION_putName', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_clients/view/{uid}/ACTION_putGender
+	public function ACTION_putGender(Request $request, $uid) {
+		$record = DB::table('client')->where('uid', $uid)->first();
+		return response()->view('pro/my_clients_SINGLE/ACTION_putGender', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_clients/view/{uid}/ACTION_putDateOfBirth
+	public function ACTION_putDateOfBirth(Request $request, $uid) {
+		$record = DB::table('client')->where('uid', $uid)->first();
+		return response()->view('pro/my_clients_SINGLE/ACTION_putDateOfBirth', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
 	}
 
 	// GET /my_clients/view/{uid}/ACTION_putTeam
@@ -70,24 +82,6 @@ class my_clients_SINGLE_Controller extends Controller
 		return response()->view('pro/my_clients_SINGLE/ACTION_removeAlly', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
 	}
 
-	// GET /my_clients/view/{uid}/ACTION_putName
-	public function ACTION_putName(Request $request, $uid) {
-		$record = DB::table('client')->where('uid', $uid)->first();
-		return response()->view('pro/my_clients_SINGLE/ACTION_putName', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
-	}
-
-	// GET /my_clients/view/{uid}/ACTION_putGender
-	public function ACTION_putGender(Request $request, $uid) {
-		$record = DB::table('client')->where('uid', $uid)->first();
-		return response()->view('pro/my_clients_SINGLE/ACTION_putGender', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
-	}
-
-	// GET /my_clients/view/{uid}/ACTION_putDateOfBirth
-	public function ACTION_putDateOfBirth(Request $request, $uid) {
-		$record = DB::table('client')->where('uid', $uid)->first();
-		return response()->view('pro/my_clients_SINGLE/ACTION_putDateOfBirth', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
-	}
-
 	// GET /my_clients/view/{uid}/ACTION_putProfilePicture
 	public function ACTION_putProfilePicture(Request $request, $uid) {
 		$record = DB::table('client')->where('uid', $uid)->first();

+ 67 - 0
app/Http/Controllers/my_payment_schedule_SINGLE_Controller.php

@@ -0,0 +1,67 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Auth;
+
+class my_payment_schedule_SINGLE_Controller extends Controller
+{
+    public $selfName = 'my_payment_schedule_SINGLE_Controller';
+
+	// GET /my_teams/view/{uid}/ACTION_updateTeamNumber
+	public function ACTION_updateTeamNumber(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_updateTeamNumber', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/ACTION_deactivate
+	public function ACTION_deactivate(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_deactivate', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/ACTION_updateDeactivationMemo
+	public function ACTION_updateDeactivationMemo(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_updateDeactivationMemo', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/ACTION_reactivate
+	public function ACTION_reactivate(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_reactivate', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/ACTION_updateReactivationMemo
+	public function ACTION_updateReactivationMemo(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_updateReactivationMemo', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/SUB_dashboard
+	public function SUB_dashboard(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/SUB_dashboard', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/SUB_clients
+	public function SUB_clients(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		$subRecords = DB::table('client')->where('team_id', $record->id)->get();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/SUB_clients', compact('record', 'subRecords'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/SUB_audit_log
+	public function SUB_audit_log(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/SUB_audit_log', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /my_teams/view/{uid}/ACTION_clientsAddNew
+	public function ACTION_clientsAddNew(Request $request, $uid) {
+		$record = DB::table('pro_rate')->where('uid', $uid)->first();
+		return response()->view('my_teams|team|add|view/my_payment_schedule_SINGLE/ACTION_clientsAddNew', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+}

+ 6 - 0
app/Http/Controllers/my_teams_SINGLE_Controller.php

@@ -46,6 +46,12 @@ class my_teams_SINGLE_Controller extends Controller
 		return response()->view('pro/my_teams_SINGLE/SUB_dashboard', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
 	}
 
+	// GET /my_teams/view/{uid}/SUB_edit_demographics
+	public function SUB_edit_demographics(Request $request, $uid) {
+		$record = DB::table('team')->where('uid', $uid)->first();
+		return response()->view('pro/my_teams_SINGLE/SUB_edit_demographics', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
 	// GET /my_teams/view/{uid}/SUB_clients
 	public function SUB_clients(Request $request, $uid) {
 		$record = DB::table('team')->where('uid', $uid)->first();

+ 12 - 0
app/Http/Controllers/pros_SINGLE_Controller.php

@@ -106,6 +106,18 @@ class pros_SINGLE_Controller extends Controller
 		return response()->view('admin/pros_SINGLE/ACTION_sendEmailAddressConfirmationMessage', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
 	}
 
+	// GET /pros/view/{uid}/ACTION_setIsHcpToTrue
+	public function ACTION_setIsHcpToTrue(Request $request, $uid) {
+		$record = DB::table('pro')->where('uid', $uid)->first();
+		return response()->view('admin/pros_SINGLE/ACTION_setIsHcpToTrue', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
+	// GET /pros/view/{uid}/ACTION_setIsHcpToFalse
+	public function ACTION_setIsHcpToFalse(Request $request, $uid) {
+		$record = DB::table('pro')->where('uid', $uid)->first();
+		return response()->view('admin/pros_SINGLE/ACTION_setIsHcpToFalse', compact('record'), session('message') ? 500 : 200)->header('Content-Type', 'text/html');
+	}
+
 	// GET /pros/view/{uid}/ACTION_setIsEnrolledAsHcpToTrue
 	public function ACTION_setIsEnrolledAsHcpToTrue(Request $request, $uid) {
 		$record = DB::table('pro')->where('uid', $uid)->first();

+ 2 - 5
app/HttpModels/LobbyModel.php

@@ -3,17 +3,14 @@ namespace App\HttpModels;
 
 use App\Models\Lobby;
 
-class LobbyModel {
-    public $uid;
-    public $name;
+class LobbyModel extends ClientLobbyModel {
     public $isStrangerAccessible;
     public $isClientAccessible;
     public $meetings = [];
 
     public function __construct(Lobby $lobby)
     {
-        $this->uid = $lobby->uid;
-        $this->name = $lobby->name;
+        parent::__construct($lobby);
         $this->isStrangerAccessible = $lobby->is_stranger_accessible;
         $this->isClientAccessible = $lobby->is_client_accessible;
         foreach ($lobby->meetings()->where('meeting.is_active',true)->get() as $meeting) {

+ 6 - 0
app/HttpModels/MeetingModel.php

@@ -6,9 +6,15 @@ use App\Models\Meeting;
 class MeetingModel {
     public $uid;
     public $name;
+    public $strangerFirstName;
+    public $strangerLastName;
+    public $strangerDob;
     
     public function __construct(Meeting $meeting) {
         $this->uid = $meeting->uid;
         $this->name = $meeting->title;
+        $this->strangerFirstName = $meeting->stranger_first_name;
+        $this->strangerLastName = $meeting->stranger_last_name;
+        $this->strangerDob = $meeting->stranger_dob;
     }
 }

+ 16 - 0
app/HttpModels/MeetingWithLobbyModel.php

@@ -0,0 +1,16 @@
+<?php
+namespace App\HttpModels;
+
+use App\Models\Meeting;
+
+class MeetingWithLobbyModel extends MeetingModel {
+
+    public $lobby;
+
+    public function __construct(Meeting $meeting)
+    {
+        parent::__construct($meeting);
+
+        $this->lobby = new ClientLobbyModel($meeting->lobby);
+    }
+}

+ 5 - 0
app/Models/AppSession.php

@@ -13,4 +13,9 @@ class AppSession extends Model
     {
         return $this->belongsTo(Pro::class);
     }
+
+    public function meetingParticipant()
+    {
+        return $this->belongsTo(MeetingParticipant::class, 'current_meeting_participant_id');
+    }
 }

+ 10 - 1
app/Models/Meeting.php

@@ -10,4 +10,13 @@ class Meeting extends Model
     protected $table = "meeting";
 
     //
-}
+
+    protected $dates = [
+        'strangerDob'
+    ];
+
+    public function lobby()
+    {
+        return $this->belongsTo(Lobby::class);
+    }
+}

+ 6 - 1
app/Models/MeetingParticipant.php

@@ -18,4 +18,9 @@ class MeetingParticipant extends Model
         }
         return '';
     }
-}
+
+    public function meeting()
+    {
+        return $this->belongsTo(Meeting::class);
+    }
+}

+ 14 - 0
generatecv/tree-templates/dashboard-group.template.blade.php

@@ -0,0 +1,14 @@
+<div class="table-responsive p-0 bg-white table-sm mb-3">
+    <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
+        <thead>
+        <tr>
+            <th colspan="2" class="px-2"><!-- __GROUP_NAME__ -->
+                <span class="ml-auto"><!-- __GROUP_ACTION__ --></span>
+            </th>
+        </tr>
+        </thead>
+        <tbody>
+            <!-- __GROUP_FIELDS__ -->
+        </tbody>
+    </table>
+</div>

+ 7 - 0
generatecv/tree-templates/dashboard-grouped-nal.template.blade.php

@@ -0,0 +1,7 @@
+<div class="row mt-3">
+    <div class="col-12">
+
+        <!-- _GROUPS_ -->
+
+    </div>
+</div>

+ 12 - 0
generatecv/tree-templates/dashboard-grouped.template.blade.php

@@ -0,0 +1,12 @@
+<div class="row mt-3">
+    <div class="col-8">
+
+        <!-- _GROUPS_ -->
+
+    </div>
+    <div class="col-4">
+        <div class="border-left h-100 pl-3">
+            @include('_ACTION_LINKS_VIEW_')
+        </div>
+    </div>
+</div>

+ 23 - 0
generatecv/tree-templates/dashboard-nal.template.blade.php

@@ -0,0 +1,23 @@
+<div class="row mt-3">
+    <div class="col-12">
+
+        <div class="table-responsive p-0 bg-white table-sm">
+            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
+                <thead>
+                <tr>
+                    <th colspan="2" class="px-2">Record Details</th>
+                </tr>
+                </thead>
+                <tbody>
+                @foreach($record as $k => $v)
+                    <tr>
+                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
+                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
+                    </tr>
+                @endforeach
+                </tbody>
+            </table>
+        </div>
+
+    </div>
+</div>

+ 5 - 5
generatecv/tree-templates/dashboard.template.blade.php

@@ -1,7 +1,7 @@
-<div class="row">
-    <div class="col-7">
+<div class="row mt-3">
+    <div class="col-8">
 
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
+        <div class="table-responsive p-0 bg-white table-sm">
             <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
                 <thead>
                 <tr>
@@ -20,8 +20,8 @@
         </div>
 
     </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
+    <div class="col-4">
+        <div class="border-left h-100 pl-3">
             @include('_ACTION_LINKS_VIEW_')
         </div>
     </div>

+ 1 - 1
generatecv/tree-templates/index.template.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>_NAME_: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
generatecv/tree-templates/info.template.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>_NAME_: Single [_UID_]</div>
+</h4>

+ 8 - 15
generatecv/tree-templates/show.template.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>_NAME_: Single [_UID_]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('_INDEX_ROUTE_')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('_INFO_VIEW_')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('_SUB_LINKS_VIEW_')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 3 - 3
generatecv/tree-templates/sub-index.template.blade.php

@@ -1,14 +1,14 @@
 @extends('_LAYOUT_')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>_NAME_</div>
             <div class="ml-auto">
                 <!-- _ADD_NEW_LINK_ -->
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 103 - 46
generatecv/tree.txt

@@ -1,10 +1,19 @@
 PRO
 #    dashboard
-    my_payment_schedule|pro_rate:pro_id=OWN
-    my_teams|team|add|view
+    my_payment_schedule|pro_rate:pro_id=OWN|icon:dollar-sign
+        !inc:code,as_hcp_or_ally,amount,earnings
+        !col:code:Code
+        !col:as_hcp_or_ally:Description (HCP/Ally)
+        !col:amount:Amount
+        !col:earnings:Earnings:select '- TODO -' as result
+    my_teams|team|add|view|icon:user-friends
+        !inc:@team_number,hcp_pro_id,ally_pro_id,client_count
+        !col:hcp_pro_id:HCP:select name_display as result from pro where id = $hcp_pro_id limit 1=>/foo/bar/$hcp_pro_id
+        !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 COUNT(*) as result FROM client WHERE team_id = $id
     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
@@ -20,24 +29,49 @@ PRO
                 memo=reactivation_memo
         SUB
             dashboard
+                !grp:Basic Details:team_number,created_at,client_count,is_active:Update Team Number:pencil-alt=>/my_teams/view/$uid/ACTION_updateTeamNumber
+                !grp:Associated Pros:hcp_pro_id,ally_pro_id
+                !col:hcp_pro_id:HCP Pro:select name_display as result from pro where id = $hcp_pro_id limit 1=>/foo/bar/$hcp_pro_id
+                !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
+                !col:is_active:Active:SELECT d as result FROM (VALUES ('1','Yes'),('','No')) T(v,d) WHERE v = '$is_active' limit 1
+                !act:team_number:Update Team Number:pencil-alt=>/my_teams/view/$uid/ACTION_updateTeamNumber
+                !act:is_active:Deactivate:pencil-alt:if:is_active=>/my_teams/view/$uid/ACTION_deactivate
+                !act:is_active:Reactivate:pencil-alt:if-not:is_active=>/my_teams/view/$uid/ACTION_reactivate
+            edit_demographics
+                !grp:Basic Details:team_number,created_at,client_count,is_active
+                !act:is_active:Deactivate:pencil-alt:if:is_active=>/my_teams/view/$uid/ACTION_deactivate
+                !act:is_active:Reactivate:pencil-alt:if-not:is_active=>/my_teams/view/$uid/ACTION_reactivate
+                !nal:
             clients
                 id=client.team_id=>/my_clients/view/UID
+                !exc:id,uid
+                !lnk:created_at
+                !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
+    my_clients|client|add|view|icon:user-injured
+        !inc:@name_display,date_of_birth,gender,is_client_enrolled_in_cm,is_client_enrolled_in_rm,mcp_pro_id,ally_pro_id
+        !col:name_display:Name
+        !col:date_of_birth:DOB
+        !col:gender:Sex
+        !col:is_client_enrolled_in_cm:CM
+        !col:is_client_enrolled_in_rm:RM
+        !col:mcp_pro_id:MCP:SELECT name_display AS result FROM pro WHERE id = $mcp_pro_id
+        !col:ally_pro_id:Ally:SELECT name_display AS result FROM pro WHERE id = $ally_pro_id
     my_clients/add_new:create
         teamUid:record:team:uid,team_number
         mcpProUid:record:pro:uid,name_display
@@ -60,17 +94,6 @@ PRO
             putNewCellNumber
                 newCellNumber:tel=cell_number
             sendEmailAddressConfirmationMessage
-            putNewEmailAddress
-                newEmailAddress:email=email_address
-            putTeam
-                teamUid:record:team:uid,team_number
-            removeTeam:if:team_id
-            putMcp
-                mcpProUid:record:pro:uid,name_display
-            removeMcp:if:mcp_pro_id
-            putAlly
-                allyProUid:record:pro:uid,name_display
-            removeAlly:if:ally_pro_id
             putName
                 nameDisplay
                 namePrefix
@@ -83,6 +106,15 @@ PRO
                 gender:select:M,F=gender
             putDateOfBirth
                 dateOfBirth:date=date_of_birth
+            putTeam
+                teamUid:record:team:uid,team_number
+            removeTeam:if:team_id
+            putMcp
+                mcpProUid:record:pro:uid,name_display
+            removeMcp:if:mcp_pro_id
+            putAlly
+                allyProUid:record:pro:uid,name_display
+            removeAlly:if:ally_pro_id
             putProfilePicture
                 profilePictureBase64
             removeProfilePicture:if:profile_picture_base64
@@ -155,6 +187,15 @@ PRO
                 memo=reactivation_memo
         SUB
             dashboard
+                !grp:Name:name_display
+                !grp:Demographics:gender,date_of_birth
+                !grp:Cell number:cell_number
+                !grp:Email address:email_address
+                !grp:Address:home_address_city,home_address_country,home_address_lat,home_address_line1,home_address_line2,home_address_long,home_address_state,home_address_zip,home_phone_number,mailing_address_city,mailing_address_country,mailing_address_lat,mailing_address_line1,mailing_address_line2,mailing_address_long,mailing_address_state,mailing_address_zip
+                !act:name_display:putName:pencil-alt=>/my_clients/view/$uid/ACTION_putName
+                !act:gender:putGender:pencil-alt=>/my_clients/view/$uid/ACTION_putGender
+                !act:date_of_birth:putDateOfBirth:pencil-alt=>/my_clients/view/$uid/ACTION_putDateOfBirth
+                !act:mailing_address_zip:updateAddress:pencil-alt=>/my_clients/view/$uid/ACTION_updateAddress
             med_profile
             med_profile_log
             pro_access
@@ -189,6 +230,7 @@ PRO
                     startYear:number
             care_month_entries
                 id=care_month_entry.client_id=>/care_month_entries/view/UID
+                !col:pro_id:Pro:select name_display as result from pro where id = $pro_id
             bills
                 id=bill.client_id=>/bills/view/UID
             related_transactions
@@ -214,7 +256,19 @@ PRO
             ally_updates
                 id=client_ally_update.client_id
             audit_log
-    notes|note|view
+    notes|note|view|icon:file-alt
+        !inc:effective_dateest,client_id,hcp_pro_id,ally_pro_id,reasons,content_text,is_signed_by_ally,is_signed_by_hcp,billed
+        !col:effective_dateest:Date
+        !col:client_id:Client:select name_display as result FROM client WHERE id = $client_id
+        !col:hcp_pro_id:HCP:select name_display as result FROM pro WHERE id = $hcp_pro_id
+        !col:ally_pro_id:Ally:select name_display as result FROM pro WHERE id = $ally_pro_id
+        !col:reasons:Reason(s):select concat(reason1,reason2) as result FROM note WHERE id = $id
+        !col:service_location:Location
+        !col:category:Category
+        !col:content_text:Content
+        !col:is_signed_by_ally:Ally Signed?
+        !col:is_signed_by_hcp:HCP Signed?
+        !col:billed:Billed?:SELECT '-- TODO --' as result
     notes/view/{uid}
         ACTIONS
             signAsHcp
@@ -234,7 +288,7 @@ PRO
                     modifier
                     numberOfUnits:number
             audit_log
-    erx|action_item:action_item_category='RX'|view
+    erx|action_item:action_item_category='RX'|view|icon:file-signature
     erx/view/{uid}
         ACTIONS
             signAsPrescriber
@@ -251,7 +305,7 @@ PRO
         SUB
             dashboard
             audit_log
-    action_items|action_item|view
+    action_items|action_item|view|icon:tasks
     action_items/view/{uid}
         ACTIONS
             signAsPrescriber
@@ -268,7 +322,7 @@ PRO
         SUB
             dashboard
             audit_log
-    care_months|care_month|view
+    care_months|care_month|view|icon:calendar-plus
     care_months/view/{uid}
         ACTIONS
             putMcpPro
@@ -331,7 +385,8 @@ PRO
                     contentText
                     contentDetail
             audit_log
-    care_month_entries|care_month_entry|view
+    care_month_entries|care_month_entry|view|icon:calendar-alt
+        !col:pro_id:Pro:select name_display as result from pro where id = $pro_id
     care_month_entries/view/{uid}
         ACTIONS
             updateContent
@@ -345,7 +400,7 @@ PRO
                 endingTime
         SUB
             dashboard
-    bills|bill|view
+    bills|bill|view|icon:file-invoice-dollar
     bills/view/{uid}
         ACTIONS
             payHcpAmount
@@ -361,10 +416,10 @@ PRO
             transactions
                 id=pro_transaction.bill_id
             audit_log
-    transactions|pro_transaction
-    med_profile_lines|client_info_line
-    med_profile_line_updates|client_info_line_update
-    pro_access|client_pro_access|view
+    transactions|pro_transaction|icon:exchange-alt
+    med_profile_lines|client_info_line|icon:window-restore
+    med_profile_line_updates|client_info_line_update|icon:window-restore
+    pro_access|client_pro_access|view|icon:arrow-alt-circle-right
     pro_access/view/{uid}
         ACTIONS
             updateReason
@@ -380,13 +435,13 @@ PRO
                 memo=reactivation_memo
         SUB
             dashboard
-    mcp_updates|client_mcp_update
-    ally_updates|client_ally_update
+    mcp_updates|client_mcp_update|icon:user-edit
+    ally_updates|client_ally_update|icon:user-edit
 #   audit_log :: coming soon
 
 ADMIN
 #   admin_dashboard
-    facilities|facility|view
+    facilities|facility|view|icon:temperature-low
     facilities/add_new:create
     facilities/view/{uid}
         ACTIONS
@@ -417,7 +472,7 @@ ADMIN
             erx
             action_items
             audit_log
-    pros|pro|add|view
+    pros|pro|add|view|icon:user-md
     pros/add_new:create
         cellNumber:tel
         emailAddress:email
@@ -501,6 +556,8 @@ ADMIN
                 ssn
             # new actions from ProService.java
             sendEmailAddressConfirmationMessage
+            setIsHcpToTrue
+            setIsHcpToFalse
             setIsEnrolledAsHcpToTrue
             setIsEnrolledAsHcpToFalse
             setIsEnrolledAsMcpToTrue
@@ -544,14 +601,14 @@ ADMIN
                     lobbyUid:record:lobby:uid,name
             sessions
             audit_log
-    pro_rates|pro_rate|view
+    pro_rates|pro_rate|view|icon:funnel-dollar
     pro_rates/view/{uid}
         ACTIONS
             updateAmount
                 newAmount:number=amount
         SUB
             dashboard
-    lobbies|lobby|add|view
+    lobbies|lobby|add|view|icon:hospital
     lobbies/add_new:create
         name
 		urlSlug
@@ -576,7 +633,7 @@ ADMIN
                     proUid:record:pro:uid,name_display
             meetings
                 id=meeting.lobby_id=>/meetings/view/UID
-    meetings|meeting|add|view
+    meetings|meeting|add|view|icon:handshake
     meetings/add_new:meetings:createAsProPerformer
         lobbyUid:record:lobby:uid,name
 		targetLobbyProUid:record:lobby_pro:uid,uid
@@ -624,26 +681,26 @@ ADMIN
                 id=meeting_knock.meeting_id=>/meeting_knocks/view/UID
             meeting_messages
                 id=meeting_message.meeting_id=>/meeting_messages/view/UID
-    meeting_participants|meeting_participant|view
+    meeting_participants|meeting_participant|view|icon:user
     meeting_participants/view/{uid}
         SUB
             dashboard
-    meeting_invitations|meeting_invitation|view
+    meeting_invitations|meeting_invitation|view|icon:envelope
     meeting_invitations/view/{uid}
         ACTIONS
             cancel
                 memo
         SUB
             dashboard
-    meeting_rings|meeting_ring|view
+    meeting_rings|meeting_ring|view|icon:phone
     meeting_rings/view/{uid}
         SUB
             dashboard
-    meeting_knocks|meeting_knock|view
+    meeting_knocks|meeting_knock|view|icon:door-closed
     meeting_knocks/view/{uid}
         SUB
             dashboard
-    meeting_messages|meeting_message|view
+    meeting_messages|meeting_message|view|icon:comments
     meeting_message/view/{uid}
         SUB
-            dashboard
+            dashboard

+ 657 - 0
generatecv/tree_detailed.txt

@@ -0,0 +1,657 @@
+PRO
+#    dashboard
+    my_payment_schedule|pro_rate:pro_id=OWN
+    	COLUMNS
+    		Code:code
+    		Description (HCP/Ally):as_hcp_or_ally
+    		Amount:amount
+    		Earnings:sum(relevant bills) 
+    my_teams|team|add|view
+    my_teams/add_new:create
+        hcpProUid:record:pro:uid,name_display
+        allyProUid:record:pro:uid,name_display
+        teamNumber
+    my_teams/view/{uid}
+        ACTIONS
+            updateTeamNumber
+                teamNumber=team_number
+            deactivate
+                memo
+            updateDeactivationMemo
+                memo=deactivation_memo
+            reactivate
+                memo
+            updateReactivationMemo
+                memo=reactivation_memo
+        SUB
+            dashboard
+            clients
+                id=client.team_id=>/my_clients/view/UID
+                add_new:client
+                    teamUid:hidden=uid
+                    nameDisplay
+                    namePrefix
+                    nameFirst
+                    nameMiddle
+                    nameLast
+                    nameSuffix
+                    nameCredential
+                    gender:select:M,F
+                    dateOfBirth:date
+                    cellNumber:tel
+                    emailAddress:email
+                    medicareNumber
+            audit_log
+    my_clients|client|add|view
+    my_clients/add_new:create
+        teamUid:record:team:uid,team_number
+        mcpProUid:record:pro:uid,name_display
+        allyProUid:record:pro:uid,name_display
+        nameDisplay
+        namePrefix
+        nameFirst
+        nameMiddle
+        nameLast
+        nameSuffix
+        nameCredential
+        gender:select:M,F
+        dateOfBirth:date
+        cellNumber:tel
+        emailAddress:email
+        medicareNumber
+    my_clients/view/{uid}
+        ACTIONS
+            sendCellNumberConfirmationMessage
+            putNewCellNumber
+                newCellNumber:tel=cell_number
+            sendEmailAddressConfirmationMessage
+            confirmEmailAddressWithConfirmationToken
+            putNewEmailAddress
+                newEmailAddress:email=email_address
+            putTeam
+                teamUid:record:team:uid,team_number
+            removeTeam:if:team_id
+            putMcp
+                mcpProUid:record:pro:uid,name_display
+            removeMcp:if:mcp_pro_id
+            putAlly
+                allyProUid:record:pro:uid,name_display
+            removeAlly:if:ally_pro_id
+            putName
+                nameDisplay
+                namePrefix
+                nameFirst
+                nameMiddle
+                nameLast
+                nameSuffix
+                nameCredential
+            putGender
+                gender:select:M,F=gender
+            putDateOfBirth
+                dateOfBirth:date=date_of_birth
+            putProfilePicture
+                profilePictureBase64
+            removeProfilePicture:if:profile_picture_base64
+            updatePhoneInfo
+                homePhoneNumber=home_phone_number
+                workPhoneNumber=work_phone_number
+                supporterPhoneNumber=supporter_phone_number
+                supporterMemo=supporter_memo
+                phoneNumbersMemo=phone_numbers_memo
+            updateAddress
+                mailingAddressLine1=mailing_address_line1
+                mailingAddressLine2=mailing_address_line2
+                mailingAddressCity=mailing_address_city
+                mailingAddressState=mailing_address_state
+                mailingAddressCountry=mailing_address_country
+                mailingAddressZip=mailing_address_zip
+                mailingAddressLat=mailing_address_lat
+                mailingAddressLong=mailing_address_long
+                homeAddressLine1=home_address_line1
+                homeAddressLine2=home_address_line2
+                homeAddressCity=home_address_city
+                homeAddressState=home_address_state
+                homeAddressCountry=home_address_country
+                homeAddressZip=home_address_zip
+                homeAddressLat=home_address_lat
+                homeAddressLong=home_address_long
+            updateMedicareNumber
+                medicareNumber=medicare_number
+            manuallySetIsPartBPrimaryConfirmedToTrue
+                partBConfirmationMethod:select:MANUAL,API=partbconfirmation_method
+                partBConfirmationMemo=partbconfirmation_memo
+            manuallySetIsPartBPrimaryConfirmedToFalse
+                partBConfirmationMethod:select:MANUAL,API=partbconfirmation_method
+                partBConfirmationMemo=partbconfirmation_memo
+            setHasMcpDoneEmVisitToTrue
+                mcpEmVisitDate=mcp_em_visit_date
+                mcpEmVisitNote
+                mcpEmVisitMemo=mcp_em_visit_memo
+            updateMcpEmVisitInfo
+                mcpEmVisitDate=mcp_em_visit_date
+                mcpEmVisitNote
+                mcpEmVisitMemo=mcp_em_visit_memo
+            setHasMcpDoneEmVisitToFalse
+            putCrmReasons
+                cmReason1=cm_reason1
+                cmReason2=cm_reason2
+                rmReason1=rm_reason1
+                rmReason2=rm_reason2
+            removeCrmReasons
+            setIsClientEnrolledInCmToTrue
+            setIsClientEnrolledInCmToFalse
+            updateWhyNotEnrolledInCm
+                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
+                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
+            setIsClientEnrolledInRmToTrue
+            setIsClientEnrolledInRmToFalse
+            updateWhyNotEnrolledInRm
+                whyNotEnrolledInRmCategory=why_not_enrolled_in_rm_category
+                whyNotEnrolledInRmMemo=why_not_enrolled_in_rm_memo
+            updateIntakeInfo
+                intakeText=intake_text
+                intakeDetail=intake_detail
+            deactivate
+                memo
+            updateDeactivationMemo
+                memo=deactivation_memo
+            reactivate
+                memo
+            updateReactivationMemo
+                memo=reactivation_memo
+        SUB
+            dashboard
+            med_profile
+            med_profile_log
+            pro_access
+                id=client_pro_access.client_id=>/pro_access/view/UID
+                add_new:client_pro_access=>/pro_access/view/UID
+                    clientUid:hidden=uid
+                    proUid:record:pro:uid,name_display
+                    reasonCategory
+                    reasonMemo
+                    reasonDetail
+            notes
+                id=note.client_id=>/notes/view/UID
+                add_new:note=>/notes/view/UID
+                    clientUid:hidden=uid
+                    hcpProUid:record:pro:uid,name_display
+                    allyProUid:record:pro:uid,name_display
+                    effectiveDateEST:date
+                    effectiveTime:time
+                    reason1
+                    reason2
+                    reason3
+                    reason3Plus
+                    serviceLocation
+                    category
+                    contentText
+                    contentDetail
+            care_months
+                id=care_month.client_id=>/care_months/view/UID
+                add_new:care_month
+                    clientUid:hidden=uid
+                    startMonth:number
+                    startYear:number
+            care_month_entries
+                id=care_month_entry.client_id=>/care_month_entries/view/UID
+            bills
+                id=bill.client_id=>/bills/view/UID
+            related_transactions
+                id=pro_transaction.client_id=>/transactions/view/UID
+            action_items
+                id=action_item.client_id=>/action_items/view/UID
+                add_new:action_item
+                    clientUid:hidden=uid
+                    prescriberProUid:record:pro:uid,name_display
+                    toFacilityUid:record:facility:uid,name
+                    contentText
+                    contentDetail
+            erx
+                id=action_item.client_id,action_item_category='RX'=>/action_items/view/UID
+                add_new:action_item
+                    clientUid:hidden=uid
+                    prescriberProUid:record:pro:uid,name_display
+                    toFacilityUid:record:facility:uid,name
+                    contentText
+                    contentDetail
+            mcp_updates
+                id=client_mcp_update.client_id
+            ally_updates
+                id=client_ally_update.client_id
+            audit_log
+    notes|note|view
+    notes/view/{uid}
+        ACTIONS
+            signAsHcp
+        SUB
+            dashboard
+            bills
+                id=bill.note_id=>/bills/view/UID
+                add_new:bill:createForNote
+                    noteUid:hidden=uid
+                    effectiveDate:date
+                    code
+                    reason1
+                    reason2
+                    reason3
+                    reason3Plus
+                    serviceLocation
+                    modifier
+                    numberOfUnits:number
+            audit_log
+    erx|action_item:action_item_category='RX'|view
+    erx/view/{uid}
+        ACTIONS
+            signAsPrescriber
+            updateToFacility
+                toFacilityUid:record:facility:uid,name
+            updateContent
+                contentText=content_text
+                contentDetail=content_detail
+            updateStatus
+                statusCategory:select:OPEN,CLOSED
+                statusMemo
+            efax
+                toFaxNumber:tel
+        SUB
+            dashboard
+            audit_log
+    action_items|action_item|view
+    action_items/view/{uid}
+        ACTIONS
+            signAsPrescriber
+            updateToFacility
+                toFacilityUid:record:facility:uid,name
+            updateContent
+                contentText=content_text
+                contentDetail=content_detail
+            updateStatus
+                statusCategory:select:OPEN,CLOSED
+                statusMemo
+            efax
+                toFaxNumber:tel
+        SUB
+            dashboard
+            audit_log
+    care_months|care_month|view
+    care_months/view/{uid}
+        ACTIONS
+            putMcpPro
+                mcpProUid:record:pro:uid,name_display
+            putAllyPro
+                allyProUid:record:pro:uid,name_display
+            putReasons
+                reason1
+                reason2
+                reason3
+                reason3Plus
+            setIsClientEnrolledInCmToTrue
+            setIsClientEnrolledInCmToFalse
+            updateWhyNotEnrolledInCm
+                whyNotEnrolledInCmCategory
+                whyNotEnrolledInCmMemo
+            setIsClientEnrolledInRmToTrue
+            setIsClientEnrolledInRmToFalse
+            updateWhyNotEnrolledInRm
+                whyNotEnrolledInRmCategory
+                whyNotEnrolledInRmMemo
+            generateBillForCm
+                numberOfMinutes:number
+            generateBillForRm
+                numberOfMinutes:number
+            setIsCmCanceledThisMonthToTrue
+            updateWhyIsCmCanceledThisMonth
+            setIsCmCanceledThisMonthToFalse
+            setIsRmCanceledThisMonthToTrue
+            updateWhyIsRmCanceledThisMonth
+            setIsRmCanceledThisMonthToFalse
+            setIsTmThisMonthToTrue
+            setIsTmThisMonthToFalse
+        SUB
+            dashboard
+# :: need remove
+            cm_time_entries
+                id=care_month_entry.care_month_id,cm_or_rm='CM'
+                add_new:care_month_entry:createForCm
+                    careMonthUid:hidden=uid
+                    proUid:record:pro:uid,name_display
+                    effectiveDate:date
+                    timeInSeconds:number
+                    isTimeSpecific:bool
+                    startingTime:time
+                    endingTime:time
+                    contentText
+                    contentDetail
+# :: need remove
+            rm_time_entries
+                id=care_month_entry.care_month_id,cm_or_rm='RM'
+                add_new:care_month_entry:createForRm
+                    careMonthUid:hidden=uid
+                    proUid:record:pro:uid,name_display
+                    effectiveDate:date
+                    timeInSeconds:number
+                    isTimeSpecific:bool
+                    startingTime:time
+                    endingTime:time
+                    contentText
+                    contentDetail
+            audit_log
+    care_month_entries|care_month_entry|view
+    care_month_entries/view/{uid}
+        ACTIONS
+            updateContent
+                contentText
+                contentDetail
+            updateTiming
+                effectiveDate
+                timeInSeconds
+                isTimeSpecific:bool
+                startingTime
+                endingTime
+        SUB
+            dashboard
+    bills|bill|view
+    bills/view/{uid}
+        ACTIONS
+            payHcpAmount
+                hcpPaymentAmount:number
+            payHcpDifferentAmount
+                differentHcpPaymentAmount:number
+            signAsHcp
+            markSubmitted
+            putCollectedAmount
+                collectedAmount
+        SUB
+            dashboard
+            transactions
+                id=pro_transaction.bill_id
+            audit_log
+    transactions|pro_transaction
+    med_profile_lines|client_info_line
+    med_profile_line_updates|client_info_line_update
+    pro_access|client_pro_access|view
+    pro_access/view/{uid}
+        ACTIONS
+            updateReason
+                reasonCategory=reason_category
+                reasonDetail=reason_detail
+            deactivate
+                memo
+            updateDeactivationMemo
+                memo=deactivation_memo
+            reactivate
+                memo
+            updateReactivationMemo
+                memo=reactivation_memo
+        SUB
+            dashboard
+    mcp_updates|client_mcp_update
+    ally_updates|client_ally_update
+#   audit_log :: coming soon
+
+ADMIN
+#   admin_dashboard
+    facilities|facility|view
+    facilities/add_new:create
+    facilities/view/{uid}
+        ACTIONS
+            updateBasic
+                name=name
+                addressFull=address_full
+                addressLine1=address_line1
+                addressLine2=address_line2
+                addressCity=address_city
+                addressState=address_state
+                addressZip=address_zip
+                addressCountry=address_country
+                addressGeoLat=address_geo_lat
+                addressGeoLong=address_geo_long
+                phone=phone
+                fax=fax
+                hours=hours
+            deactivate
+                memo
+            updateDeactivationMemo
+                memo=deactivation_memo
+            reactivate
+                memo
+            updateReactivationMemo
+                memo=reactivation_memo
+        SUB
+            dashboard
+            erx
+            action_items
+            audit_log
+    pros|pro|add|view
+    pros/add_new:create
+        cellNumber:tel
+        emailAddress:email
+        nameDisplay
+        namePrefix
+        nameFirst
+        nameMiddle
+        nameLast
+        nameSuffix
+        nameCredential
+        isHcp:bool
+        hcpNpi
+        previousProfessionCategory
+        currentProfessionCategory
+    pros/view/{uid}
+        ACTIONS
+            sendCellNumberConfirmationMessage
+            confirmCellNumberWithConfirmationToken
+                cellNumber:tel=cell_number
+                token
+            putNewCellNumber
+                newCellNumber:tel=cell_number
+            confirmEmailAddressWithConfirmationToken
+                emailAddress:email=email_address
+                token
+            putNewEmailAddress
+                newEmailAddress:email=email_address
+            updateName
+                nameDisplay
+                namePrefix
+                nameFirst
+                nameMiddle
+                nameLast
+                nameSuffix
+                nameCredential
+            updateProfession
+                isHcp:bool
+                hcpNpi
+                previousProfessionCategory
+                currentProfessionCategory
+                hcpCategory
+                hcpSubcategory
+            updateEnrolledHcpInfo
+                enrolledHcpCategory
+                enrolledHcpSubcategory
+                enrolledHcpNpi
+            putProfilePicture
+                profilePictureBase64
+            updatePhoneInfo
+                homePhoneNumber
+                workPhoneNumber
+                supporterPhoneNumber
+                supporterMemo
+                phoneNumbersMemo
+            updateAddress
+                mailingAddressLine1
+                mailingAddressLine2
+                mailingAddressCity
+                mailingAddressState
+                mailingAddressCountry
+                mailingAddressZip
+                mailingAddressLat
+                mailingAddressLong
+                homeAddressLine1
+                homeAddressLine2
+                homeAddressCity
+                homeAddressState
+                homeAddressCountry
+                homeAddressZip
+                homeAddressLat
+                homeAddressLong
+            updatePaymentProcessingDetail
+                paymentProcessingDetail
+            uploadDriverLicense
+                driverLicenseFilePath
+            updateDriverLicenseInfo
+                driverLicenseState
+                driverLicenseIssueDate
+                driverLicenseExpirationDate
+            updateSsn
+                ssn
+            # new actions from ProService.java
+            sendEmailAddressConfirmationMessage
+            setIsHcpToTrue
+            setIsHcpToFalse:if:is_hcp
+            setIsEnrolledAsHcpToTrue
+            setIsEnrolledAsHcpToFalse
+            setIsEnrolledAsMcpToTrue
+            setIsEnrolledAsMcpToFalse
+            removeProfilePicture
+            updateW9Detail
+                w9Detail
+            updateSignedContractPdf
+                signedContractPdf
+            setIsPaymentProcessingDetailCompleteToTrue
+            setIsPaymentProcessingDetailCompleteToFalse
+            setIsDriverLicenseCompleteToTrue
+            setIsDriverLicenseCompleteToFalse
+            setIsSsnCompleteToTrue
+            setIsSsnCompleteToFalse
+        SUB
+            dashboard
+            payment_schedule
+                id=pro_rate.pro_id=>/pro_rates/view/UID
+                add_new:pro_rate
+                    proUid:hidden=uid
+                    asHcpOrAlly:select:HCP,ALLY
+                    code
+                    amount:number
+            teams
+            clients
+            pro_access
+            mcp_updates
+            ally_updates
+            erx
+            action_items
+            care_months
+            care_month_entries
+            notes
+            bills
+            pro_transactions
+            lobby_pros
+                id=lobby_pro.pro_id=>/lobby_pros/view/UID
+                add_new:lobby_pro
+                    proUid:hidden=uid
+                    lobbyUid:record:lobby:uid,name
+            sessions
+            audit_log
+    pro_rates|pro_rate|view
+    pro_rates/view/{uid}
+        ACTIONS
+            updateAmount
+                newAmount:number=amount
+        SUB
+            dashboard
+    lobbies|lobby|add|view
+    lobbies/add_new:create
+        name
+		urlSlug
+		isStrangerAccessible:boolean
+		isClientAccessible:boolean
+    lobbies/view/{uid}
+        ACTIONS
+            putName
+                name
+            putUrlSlug
+                urlSlug
+            setIsStrangerAccessibleToTrue
+            setIsStrangerAccessibleToFalse
+            setIsClientAccessibleToTrue
+            setIsClientAccessibleToFalse
+        SUB
+            dashboard
+            lobby_pros
+                id=lobby_pro.lobby_id=>/lobby_pros/view/UID
+                add_new:lobby_pro
+                    lobbyUid:hidden=uid
+                    proUid:record:pro:uid,name_display
+            meetings
+                id=meeting.lobby_id=>/meetings/view/UID
+    meetings|meeting|add|view
+    meetings/add_new:meetings:createAsProPerformer
+        lobbyUid:record:lobby:uid,name
+		targetLobbyProUid:record:lobby_pro:uid,uid
+		title
+		name
+		pictureBase64
+    meetings/view/{uid}
+        ACTIONS
+            putLobby
+                lobbyUid:record:lobby:uid,name
+            putTargetLobbyPro
+                lobbyUid:record:lobbyPro:uid,name
+            putTitle
+                title
+            putStrangerInfo
+                strangerFirstName
+		        strangerLastName
+		        strangerDob:date
+		        strangerMcn
+		        isStrangerMcnPpb:boolean
+		        strangerMcnDetail
+		        strangerSsn
+		        strangerDetail
+            putMeetingNumber
+        SUB
+            dashboard
+            meeting_participants
+                id=meeting_participant.meeting_id=>/meeting_participants/view/UID
+                add_new:meeting_participant:createForPro
+                    meetingUid:hidden=uid
+                    proUid:record:pro:uid,name_display
+                    name
+                    pictureBase64
+            meeting_invitations
+                id=meeting_invitation.meeting_id=>/meeting_invitations/view/UID
+                add_new:meeting_invitation
+                    meetingUid:hidden=uid
+                    smsOrEmail:select:SMS,EMAIL
+                    toSms
+                    toEmail
+                    toName
+            meeting_rings
+                id=meeting_ring.meeting_id=>/meeting_rings/view/UID
+            meeting_knocks
+                id=meeting_knock.meeting_id=>/meeting_knocks/view/UID
+            meeting_messages
+                id=meeting_message.meeting_id=>/meeting_messages/view/UID
+    meeting_participants|meeting_participant|view
+    meeting_participants/view/{uid}
+        SUB
+            dashboard
+    meeting_invitations|meeting_invitation|view
+    meeting_invitations/view/{uid}
+        ACTIONS
+            cancel
+                memo
+        SUB
+            dashboard
+    meeting_rings|meeting_ring|view
+    meeting_rings/view/{uid}
+        SUB
+            dashboard
+    meeting_knocks|meeting_knock|view
+    meeting_knocks/view/{uid}
+        SUB
+            dashboard
+    meeting_messages|meeting_message|view
+    meeting_message/view/{uid}
+        SUB
+            dashboard

+ 3 - 0
resources/js/components/pages/ClientEntrance.vue

@@ -117,6 +117,9 @@ export default {
         lobbyProp: {
             type: Object,
             required: true
+        },
+        meetingProp: {
+            type: Object
         }
         // ,
         // lobby_uid: {

+ 17 - 10
resources/js/components/pages/MeetingsAppRoot.vue

@@ -50,6 +50,9 @@ export default {
         userProp: {
             type: Object,
             required: true
+        },
+        meetingProp: {
+            type: Object
         }
     },
     data() {
@@ -143,24 +146,28 @@ export default {
         let lobbies = this.userProp.lobbies;
         delete this.userProp.lobbies;
 
-        this.$socket.emit("userData", { user: this.userProp })
+        this.$socket.emit("userData", { user: this.userProp });
 
         lobbies.map(lobby => {
-            lobby.selected_meeting = null
+            lobby.selected_meeting = null;
             lobby.meetings.map(meeting => {
-                meeting.active_members = []
-                meeting.pros_online = []
-            })
-        })
+                meeting.active_members = [];
+                meeting.pros_online = [];
+            });
+        });
+
+        if (this.meetingProp) {
+            this.$store.commit("setMeeting", this.meetingProp);
+        }
 
-        this.$store.commit("setInitialUser", this.userProp)
-        this.$store.commit("setLobbies", lobbies)
+        this.$store.commit("setInitialUser", this.userProp);
+        this.$store.commit("setLobbies", lobbies);
 
-        this.$socket.emit("lobbyDataRequest", lobbies)
+        this.$socket.emit("lobbyDataRequest", lobbies);
 
         this.sockets.subscribe("lobby-data", data => {
             for (let meeting of data.meetings) {
-                this.$store.commit("setLobbyActivity", meeting)
+                this.$store.commit("setLobbyActivity", meeting);
             }
         })
 

+ 1 - 0
resources/js/components/partials/LobbyList.vue

@@ -112,6 +112,7 @@ export default {
                     if (this.meeting.uid === lobby.selected_meeting.uid) {
                         this.$eventBus.$emit("meetingRejoin");
                     } else {
+                        lobby.selected_meeting.lobby = lobby;
                         this.$store.commit("setMeeting", {lobby_uid: lobby.uid, ...lobby.selected_meeting});
                     }
                 },

+ 25 - 21
resources/js/components/partials/MeetingRoom.vue

@@ -143,27 +143,27 @@ export default {
             this.rowHeight = (windowHeight - this.gridPadding * (this.maxRows + 1)) / this.maxRows;
 
             //let cols = Math.ceil(Math.sqrt(this.videos.length));
-            let cols = 1
-            let rows = Math.ceil(this.videos.length / cols)
+            let cols = 1;
+            let rows = Math.ceil(this.videos.length / cols);
 
-            let elementsLastRow = this.videos.length % cols
-            let lastNormalIndex = this.videos.length - elementsLastRow
+            let elementsLastRow = this.videos.length % cols;
+            let lastNormalIndex = this.videos.length - elementsLastRow;
 
             if (elementsLastRow) {
-                this.maxCols = cols * elementsLastRow
+                this.maxCols = cols * elementsLastRow;
             } else {
-                this.maxCols = cols
+                this.maxCols = cols;
             }
 
             //let colsPerElement = this.maxCols / cols;
-            let rowsPerElement = this.maxRows / rows
+            let rowsPerElement = this.maxRows / rows;
 
-            let colsPerElement = 1
+            let colsPerElement = 1;
 
-            let colsLastRow = Math.ceil(this.maxCols / elementsLastRow)
+            let colsLastRow = Math.ceil(this.maxCols / elementsLastRow);
 
-            let cntX = 0
-            let cntY = 0
+            let cntX = 0;
+            let cntY = 0;
 
             for (let [index, video] of this.videos.entries()) {
                 video.i = index;
@@ -499,19 +499,23 @@ export default {
         });
 
         this.$eventBus.$on("leaveMeeting", () => {
-            $.ajax({
-                url: "/associate/meeting/leave",
-                method: "POST",
-                headers: {
-                    "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content")
-                },
-                error: jXhr => {
-                    console.error(getSingleError(jXhr));
-                }
-            });
+            // $.ajax({
+            //     url: "/associate/meeting/leave",
+            //     method: "POST",
+            //     headers: {
+            //         "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content")
+            //     },
+            //     error: jXhr => {
+            //         console.error(getSingleError(jXhr));
+            //     }
+            // });
             this.$store.dispatch("leaveMeeting");
             this.disconnect();
         });
+
+        if (this.meeting.uid) {
+            this.getToken();
+        }
     }
 };
 </script>

+ 1 - 1
resources/views/admin/facilities/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Facilities: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/facilities/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Facilities: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/facilities/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Facilities: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('facilities-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/facilities/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/facilities/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
resources/views/admin/facilities_SINGLE/ACTION_deactivate.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('facilities-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('facilities_SINGLE-ACTION_deactivate', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Memo</label>
+<label class='control-label'>Memo </label>
 <input class='form-control' type='text' name='memo' value='{{ old('memo') ? old('memo') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/facilities_SINGLE/ACTION_reactivate.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('facilities-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('facilities_SINGLE-ACTION_reactivate', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Memo</label>
+<label class='control-label'>Memo </label>
 <input class='form-control' type='text' name='memo' value='{{ old('memo') ? old('memo') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 13 - 13
resources/views/admin/facilities_SINGLE/ACTION_updateBasic.blade.php

@@ -27,55 +27,55 @@
         <input type="hidden" name="_success" value="{{route('facilities-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('facilities_SINGLE-ACTION_updateBasic', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Name</label>
+<label class='control-label'>Name </label>
 <input class='form-control' type='text' name='name' value='{{ old('name') ? old('name') : $record->name }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Full</label>
+<label class='control-label'>Address Full </label>
 <input class='form-control' type='text' name='addressFull' value='{{ old('addressFull') ? old('addressFull') : $record->address_full }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Line 1</label>
+<label class='control-label'>Address Line 1 </label>
 <input class='form-control' type='text' name='addressLine1' value='{{ old('addressLine1') ? old('addressLine1') : $record->address_line1 }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Line 2</label>
+<label class='control-label'>Address Line 2 </label>
 <input class='form-control' type='text' name='addressLine2' value='{{ old('addressLine2') ? old('addressLine2') : $record->address_line2 }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address City</label>
+<label class='control-label'>Address City </label>
 <input class='form-control' type='text' name='addressCity' value='{{ old('addressCity') ? old('addressCity') : $record->address_city }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address State</label>
+<label class='control-label'>Address State </label>
 <input class='form-control' type='text' name='addressState' value='{{ old('addressState') ? old('addressState') : $record->address_state }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Zip</label>
+<label class='control-label'>Address Zip </label>
 <input class='form-control' type='text' name='addressZip' value='{{ old('addressZip') ? old('addressZip') : $record->address_zip }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Country</label>
+<label class='control-label'>Address Country </label>
 <input class='form-control' type='text' name='addressCountry' value='{{ old('addressCountry') ? old('addressCountry') : $record->address_country }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Geo Lat</label>
+<label class='control-label'>Address Geo Lat </label>
 <input class='form-control' type='text' name='addressGeoLat' value='{{ old('addressGeoLat') ? old('addressGeoLat') : $record->address_geo_lat }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Address Geo Long</label>
+<label class='control-label'>Address Geo Long </label>
 <input class='form-control' type='text' name='addressGeoLong' value='{{ old('addressGeoLong') ? old('addressGeoLong') : $record->address_geo_long }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Phone</label>
+<label class='control-label'>Phone </label>
 <input class='form-control' type='text' name='phone' value='{{ old('phone') ? old('phone') : $record->phone }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Fax</label>
+<label class='control-label'>Fax </label>
 <input class='form-control' type='text' name='fax' value='{{ old('fax') ? old('fax') : $record->fax }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Hours</label>
+<label class='control-label'>Hours </label>
 <input class='form-control' type='text' name='hours' value='{{ old('hours') ? old('hours') : $record->hours }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/facilities_SINGLE/ACTION_updateDeactivationMemo.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('facilities-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('facilities_SINGLE-ACTION_updateDeactivationMemo', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Memo</label>
+<label class='control-label'>Memo </label>
 <input class='form-control' type='text' name='memo' value='{{ old('memo') ? old('memo') : $record->deactivation_memo }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/facilities_SINGLE/ACTION_updateReactivationMemo.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('facilities-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('facilities_SINGLE-ACTION_updateReactivationMemo', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Memo</label>
+<label class='control-label'>Memo </label>
 <input class='form-control' type='text' name='memo' value='{{ old('memo') ? old('memo') : $record->reactivation_memo }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/facilities_SINGLE/SUB_action_items.blade.php

@@ -1,6 +1,6 @@
 @extends('admin.facilities.view')
 @section('content-inner')
 
-    <h4 class='py-3 border-bottom'>Action Items</h4>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_action_items()</b><br>View: <b>admin/facilities_SINGLE/SUB_action_items.blade.php</b><br>
+    <h5 class='py-3 border-bottom'>Action Items</h5>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_action_items()</b><br>View: <b>admin/facilities_SINGLE/SUB_action_items.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/facilities_SINGLE/SUB_audit_log.blade.php

@@ -1,6 +1,6 @@
 @extends('admin.facilities.view')
 @section('content-inner')
 
-    <h4 class='py-3 border-bottom'>Audit Log</h4>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_audit_log()</b><br>View: <b>admin/facilities_SINGLE/SUB_audit_log.blade.php</b><br>
+    <h5 class='py-3 border-bottom'>Audit Log</h5>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_audit_log()</b><br>View: <b>admin/facilities_SINGLE/SUB_audit_log.blade.php</b><br><br>
 
 @endsection

+ 1 - 29
resources/views/admin/facilities_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.facilities.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/facilities/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/facilities_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/facilities_SINGLE/SUB_erx.blade.php

@@ -1,6 +1,6 @@
 @extends('admin.facilities.view')
 @section('content-inner')
 
-    <h4 class='py-3 border-bottom'>Erx</h4>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_erx()</b><br>View: <b>admin/facilities_SINGLE/SUB_erx.blade.php</b><br>
+    <h5 class='py-3 border-bottom'>Erx</h5>Controller: <b>facilities_SINGLE</b><br>Action: <b>SUB_erx()</b><br>View: <b>admin/facilities_SINGLE/SUB_erx.blade.php</b><br><br>
 
 @endsection

+ 4 - 4
resources/views/admin/lobbies/add_new.blade.php

@@ -26,19 +26,19 @@
         <input type="hidden" name="_success" value="{{route('lobbies-index')}}">
         <input type="hidden" name="_return" value="{{route('lobbies-add_new')}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Name</label>
+<label class='control-label'>Name </label>
 <input class='form-control' type='text' name='name' value='{{ old('name') ? old('name') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Url Slug</label>
+<label class='control-label'>Url Slug </label>
 <input class='form-control' type='text' name='urlSlug' value='{{ old('urlSlug') ? old('urlSlug') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Is Stranger Accessible</label>
+<label class='control-label'>Is Stranger Accessible </label>
 <input class='form-control' type='boolean' name='isStrangerAccessible' value='{{ old('isStrangerAccessible') ? old('isStrangerAccessible') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Is Client Accessible</label>
+<label class='control-label'>Is Client Accessible </label>
 <input class='form-control' type='boolean' name='isClientAccessible' value='{{ old('isClientAccessible') ? old('isClientAccessible') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/lobbies/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Lobbies: List</div>
         <div class="ml-auto">
             <a class='btn btn-primary btn-sm ml-2' up-modal=".form-contents" up-width="800" up-history="false" href='/lobbies/add_new'><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>

+ 3 - 0
resources/views/admin/lobbies/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Lobbies: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/lobbies/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Lobbies: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('lobbies-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/lobbies/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/lobbies/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
resources/views/admin/lobbies_SINGLE/ACTION_lobby_prosAddNew.blade.php

@@ -28,7 +28,7 @@
         <input type="hidden" name="_return" value="{{route('lobbies_SINGLE-ACTION_lobby_prosAddNew', ['uid' => $record->uid])}}">
         <input class='form-control' type='hidden' name='lobbyUid' value='{{ old('lobbyUid') ? old('lobbyUid') : $record->uid }}' >
 <div class='form-group mb-3'>
-<label class='control-label'>Pro</label>
+<label class='control-label'>Pro </label>
 <select class='form-control' name='proUid' value='{{ old('proUid') ? old('proUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>

+ 1 - 1
resources/views/admin/lobbies_SINGLE/ACTION_putName.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('lobbies-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('lobbies_SINGLE-ACTION_putName', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Name</label>
+<label class='control-label'>Name </label>
 <input class='form-control' type='text' name='name' value='{{ old('name') ? old('name') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/lobbies_SINGLE/ACTION_putUrlSlug.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('lobbies-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('lobbies_SINGLE-ACTION_putUrlSlug', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Url Slug</label>
+<label class='control-label'>Url Slug </label>
 <input class='form-control' type='text' name='urlSlug' value='{{ old('urlSlug') ? old('urlSlug') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 29
resources/views/admin/lobbies_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.lobbies.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/lobbies/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>lobbies_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/lobbies_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 3 - 3
resources/views/admin/lobbies_SINGLE/SUB_lobby_pros.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.lobbies.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Lobby Pros</div>
             <div class="ml-auto">
                 <a class="btn btn-primary btn-sm" up-modal=".form-contents" up-width="800" up-history="false" href="{{route('lobbies_SINGLE-ACTION_lobby_prosAddNew', ['uid' => $record->uid])}}"><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 3 - 3
resources/views/admin/lobbies_SINGLE/SUB_meetings.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.lobbies.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meetings</div>
             <div class="ml-auto">
                 <!-- _ADD_NEW_LINK_ -->
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 1 - 1
resources/views/admin/meeting_invitations/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meeting Invitations: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/meeting_invitations/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meeting Invitations: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meeting_invitations/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meeting Invitations: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meeting_invitations-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meeting_invitations/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meeting_invitations/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
resources/views/admin/meeting_invitations_SINGLE/ACTION_cancel.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('meeting_invitations-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('meeting_invitations_SINGLE-ACTION_cancel', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Memo</label>
+<label class='control-label'>Memo </label>
 <input class='form-control' type='text' name='memo' value='{{ old('memo') ? old('memo') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 29
resources/views/admin/meeting_invitations_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meeting_invitations.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meeting_invitations/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meeting_invitations_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meeting_invitations_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/meeting_knocks/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meeting Knocks: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/meeting_knocks/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meeting Knocks: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meeting_knocks/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meeting Knocks: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meeting_knocks-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meeting_knocks/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meeting_knocks/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 29
resources/views/admin/meeting_knocks_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meeting_knocks.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meeting_knocks/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meeting_knocks_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meeting_knocks_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/meeting_messages/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meeting Messages: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/meeting_messages/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meeting Messages: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meeting_messages/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meeting Messages: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meeting_messages-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meeting_messages/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meeting_messages/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 29
resources/views/admin/meeting_messages_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meeting_messages.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meeting_messages/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meeting_messages_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meeting_messages_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/meeting_participants/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meeting Participants: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/meeting_participants/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meeting Participants: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meeting_participants/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meeting Participants: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meeting_participants-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meeting_participants/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meeting_participants/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 29
resources/views/admin/meeting_participants_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meeting_participants.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meeting_participants/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meeting_participants_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meeting_participants_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 1 - 1
resources/views/admin/meeting_rings/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meeting Rings: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/meeting_rings/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meeting Rings: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meeting_rings/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meeting Rings: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meeting_rings-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meeting_rings/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meeting_rings/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 29
resources/views/admin/meeting_rings_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meeting_rings.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meeting_rings/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meeting_rings_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meeting_rings_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 5 - 5
resources/views/admin/meetings/add_new.blade.php

@@ -26,7 +26,7 @@
         <input type="hidden" name="_success" value="{{route('meetings-index')}}">
         <input type="hidden" name="_return" value="{{route('meetings-add_new')}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Lobby</label>
+<label class='control-label'>Lobby </label>
 <select class='form-control' name='lobbyUid' value='{{ old('lobbyUid') ? old('lobbyUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('lobby')->get(); ?>
@@ -36,7 +36,7 @@
 </select>
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Target Lobby Pro</label>
+<label class='control-label'>Target Lobby Pro </label>
 <select class='form-control' name='targetLobbyProUid' value='{{ old('targetLobbyProUid') ? old('targetLobbyProUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('lobby_pro')->get(); ?>
@@ -46,15 +46,15 @@
 </select>
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Title</label>
+<label class='control-label'>Title </label>
 <input class='form-control' type='text' name='title' value='{{ old('title') ? old('title') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name</label>
+<label class='control-label'>Name </label>
 <input class='form-control' type='text' name='name' value='{{ old('name') ? old('name') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Picture Base 64</label>
+<label class='control-label'>Picture Base 64 </label>
 <input class='form-control' type='text' name='pictureBase64' value='{{ old('pictureBase64') ? old('pictureBase64') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/meetings/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Meetings: List</div>
         <div class="ml-auto">
             <a class='btn btn-primary btn-sm ml-2' up-modal=".form-contents" up-width="800" up-history="false" href='/meetings/add_new'><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>

+ 3 - 0
resources/views/admin/meetings/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Meetings: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/meetings/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Meetings: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('meetings-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/meetings/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/meetings/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 4 - 4
resources/views/admin/meetings_SINGLE/ACTION_meeting_invitationsAddNew.blade.php

@@ -28,7 +28,7 @@
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_meeting_invitationsAddNew', ['uid' => $record->uid])}}">
         <input class='form-control' type='hidden' name='meetingUid' value='{{ old('meetingUid') ? old('meetingUid') : $record->uid }}' >
 <div class='form-group mb-3'>
-<label class='control-label'>Sms Or Email</label>
+<label class='control-label'>Sms Or Email </label>
 <select class='form-control' name='smsOrEmail' value='{{ old('smsOrEmail') ? old('smsOrEmail') : '' }}' >
 <option value=''>-- Select --</option>
 <option <?= 'SMS' === (old('smsOrEmail') ? old('smsOrEmail') : '') ? 'selected' : '' ?> value='SMS'>SMS</option>
@@ -36,15 +36,15 @@
 </select>
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>To Sms</label>
+<label class='control-label'>To Sms </label>
 <input class='form-control' type='text' name='toSms' value='{{ old('toSms') ? old('toSms') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>To Email</label>
+<label class='control-label'>To Email </label>
 <input class='form-control' type='text' name='toEmail' value='{{ old('toEmail') ? old('toEmail') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>To Name</label>
+<label class='control-label'>To Name </label>
 <input class='form-control' type='text' name='toName' value='{{ old('toName') ? old('toName') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 3 - 3
resources/views/admin/meetings_SINGLE/ACTION_meeting_participantsAddNew.blade.php

@@ -28,7 +28,7 @@
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_meeting_participantsAddNew', ['uid' => $record->uid])}}">
         <input class='form-control' type='hidden' name='meetingUid' value='{{ old('meetingUid') ? old('meetingUid') : $record->uid }}' >
 <div class='form-group mb-3'>
-<label class='control-label'>Pro</label>
+<label class='control-label'>Pro </label>
 <select class='form-control' name='proUid' value='{{ old('proUid') ? old('proUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('pro')->get(); ?>
@@ -38,11 +38,11 @@
 </select>
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name</label>
+<label class='control-label'>Name </label>
 <input class='form-control' type='text' name='name' value='{{ old('name') ? old('name') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Picture Base 64</label>
+<label class='control-label'>Picture Base 64 </label>
 <input class='form-control' type='text' name='pictureBase64' value='{{ old('pictureBase64') ? old('pictureBase64') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/meetings_SINGLE/ACTION_putLobby.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('meetings-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_putLobby', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Lobby</label>
+<label class='control-label'>Lobby </label>
 <select class='form-control' name='lobbyUid' value='{{ old('lobbyUid') ? old('lobbyUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('lobby')->get(); ?>

+ 8 - 8
resources/views/admin/meetings_SINGLE/ACTION_putStrangerInfo.blade.php

@@ -27,35 +27,35 @@
         <input type="hidden" name="_success" value="{{route('meetings-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_putStrangerInfo', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Stranger First Name</label>
+<label class='control-label'>Stranger First Name </label>
 <input class='form-control' type='text' name='strangerFirstName' value='{{ old('strangerFirstName') ? old('strangerFirstName') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Last Name</label>
+<label class='control-label'>Stranger Last Name </label>
 <input class='form-control' type='text' name='strangerLastName' value='{{ old('strangerLastName') ? old('strangerLastName') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Dob</label>
+<label class='control-label'>Stranger Dob </label>
 <input class='form-control' type='date' name='strangerDob' value='{{ old('strangerDob') ? old('strangerDob') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Mcn</label>
+<label class='control-label'>Stranger Mcn </label>
 <input class='form-control' type='text' name='strangerMcn' value='{{ old('strangerMcn') ? old('strangerMcn') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Is Stranger Mcn Ppb</label>
+<label class='control-label'>Is Stranger Mcn Ppb </label>
 <input class='form-control' type='boolean' name='isStrangerMcnPpb' value='{{ old('isStrangerMcnPpb') ? old('isStrangerMcnPpb') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Mcn Detail</label>
+<label class='control-label'>Stranger Mcn Detail </label>
 <input class='form-control' type='text' name='strangerMcnDetail' value='{{ old('strangerMcnDetail') ? old('strangerMcnDetail') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Ssn</label>
+<label class='control-label'>Stranger Ssn </label>
 <input class='form-control' type='text' name='strangerSsn' value='{{ old('strangerSsn') ? old('strangerSsn') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Stranger Detail</label>
+<label class='control-label'>Stranger Detail </label>
 <input class='form-control' type='text' name='strangerDetail' value='{{ old('strangerDetail') ? old('strangerDetail') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/meetings_SINGLE/ACTION_putTargetLobbyPro.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('meetings-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_putTargetLobbyPro', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Lobby</label>
+<label class='control-label'>Lobby </label>
 <select class='form-control' name='lobbyUid' value='{{ old('lobbyUid') ? old('lobbyUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('lobbyPro')->get(); ?>

+ 1 - 1
resources/views/admin/meetings_SINGLE/ACTION_putTitle.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('meetings-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('meetings_SINGLE-ACTION_putTitle', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Title</label>
+<label class='control-label'>Title </label>
 <input class='form-control' type='text' name='title' value='{{ old('title') ? old('title') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 29
resources/views/admin/meetings_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/meetings/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>meetings_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/meetings_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 3 - 3
resources/views/admin/meetings_SINGLE/SUB_meeting_invitations.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meeting Invitations</div>
             <div class="ml-auto">
                 <a class="btn btn-primary btn-sm" up-modal=".form-contents" up-width="800" up-history="false" href="{{route('meetings_SINGLE-ACTION_meeting_invitationsAddNew', ['uid' => $record->uid])}}"><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 3 - 3
resources/views/admin/meetings_SINGLE/SUB_meeting_knocks.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meeting Knocks</div>
             <div class="ml-auto">
                 <!-- _ADD_NEW_LINK_ -->
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 3 - 3
resources/views/admin/meetings_SINGLE/SUB_meeting_messages.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meeting Messages</div>
             <div class="ml-auto">
                 <!-- _ADD_NEW_LINK_ -->
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 3 - 3
resources/views/admin/meetings_SINGLE/SUB_meeting_participants.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meeting Participants</div>
             <div class="ml-auto">
                 <a class="btn btn-primary btn-sm" up-modal=".form-contents" up-width="800" up-history="false" href="{{route('meetings_SINGLE-ACTION_meeting_participantsAddNew', ['uid' => $record->uid])}}"><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 3 - 3
resources/views/admin/meetings_SINGLE/SUB_meeting_rings.blade.php

@@ -1,14 +1,14 @@
 @extends('admin.meetings.view')
 @section('content-inner')
 
-    <div class="mr-3 pb-3">
+    <div class="pb-3">
 
-        <h4 class='my-3 d-flex'>
+        <h5 class='my-3 d-flex'>
             <div>Meeting Rings</div>
             <div class="ml-auto">
                 <!-- _ADD_NEW_LINK_ -->
             </div>
-        </h4>
+        </h5>
 
         <div class="table-responsive p-0 bg-white border">
             <table class="table table-hover text-nowrap">

+ 1 - 1
resources/views/admin/pro_rates/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Pro Rates: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 3 - 0
resources/views/admin/pro_rates/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Pro Rates: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/pro_rates/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Pro Rates: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('pro_rates-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/pro_rates/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/pro_rates/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
resources/views/admin/pro_rates_SINGLE/ACTION_updateAmount.blade.php

@@ -27,7 +27,7 @@
         <input type="hidden" name="_success" value="{{route('pro_rates-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('pro_rates_SINGLE-ACTION_updateAmount', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>New Amount</label>
+<label class='control-label'>New Amount </label>
 <input class='form-control' type='number' name='newAmount' value='{{ old('newAmount') ? old('newAmount') : $record->amount }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 29
resources/views/admin/pro_rates_SINGLE/SUB_dashboard.blade.php

@@ -1,34 +1,6 @@
 @extends('admin.pro_rates.view')
 @section('content-inner')
 
-    <div class="row">
-    <div class="col-7">
-
-        <div class="table-responsive p-0 bg-white table-sm mt-3">
-            <table class="table table-hover text-nowrap table-striped border-left border-right border-bottom">
-                <thead>
-                <tr>
-                    <th colspan="2" class="px-2">Record Details</th>
-                </tr>
-                </thead>
-                <tbody>
-                @foreach($record as $k => $v)
-                    <tr>
-                        <td class="px-2 text-secondary border-right">{{ ucwords(str_replace("_", " ", $k)) }}</td>
-                        <td class="px-2 font-weight-bold">{{ $record->$k }}</td>
-                    </tr>
-                @endforeach
-                </tbody>
-            </table>
-        </div>
-
-    </div>
-    <div class="col-5">
-        <div class="border-left h-100 pt-3 px-3">
-            @include('admin/pro_rates/actions')
-        </div>
-    </div>
-</div>
-
+    <h5 class='py-3 border-bottom'>Dashboard</h5>Controller: <b>pro_rates_SINGLE</b><br>Action: <b>SUB_dashboard()</b><br>View: <b>admin/pro_rates_SINGLE/SUB_dashboard.blade.php</b><br><br>
 
 @endsection

+ 2 - 0
resources/views/admin/pros/actions.blade.php

@@ -14,6 +14,8 @@
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_updateDriverLicenseInfo' class='d-block btn btn-sm btn-default mb-3'>Update Driver License Info</a>
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_updateSsn' class='d-block btn btn-sm btn-default mb-3'>Update Ssn</a>
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_sendEmailAddressConfirmationMessage' class='d-block btn btn-sm btn-default mb-3'>Send Email Address Confirmation Message</a>
+<a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_setIsHcpToTrue' class='d-block btn btn-sm btn-default mb-3'>Set Is Hcp To True</a>
+<a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_setIsHcpToFalse' class='d-block btn btn-sm btn-default mb-3'>Set Is Hcp To False</a>
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_setIsEnrolledAsHcpToTrue' class='d-block btn btn-sm btn-default mb-3'>Set Is Enrolled As Hcp To True</a>
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_setIsEnrolledAsHcpToFalse' class='d-block btn btn-sm btn-default mb-3'>Set Is Enrolled As Hcp To False</a>
 <a up-modal=".form-contents" up-width="800" up-history="false" href='/pros/view/<?= $record->uid ?>/ACTION_setIsEnrolledAsMcpToTrue' class='d-block btn btn-sm btn-default mb-3'>Set Is Enrolled As Mcp To True</a>

+ 13 - 13
resources/views/admin/pros/add_new.blade.php

@@ -26,56 +26,56 @@
         <input type="hidden" name="_success" value="{{route('pros-index')}}">
         <input type="hidden" name="_return" value="{{route('pros-add_new')}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Cell Number</label>
+<label class='control-label'>Cell Number </label>
 <input class='form-control' type='tel' name='cellNumber' value='{{ old('cellNumber') ? old('cellNumber') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Email Address</label>
+<label class='control-label'>Email Address </label>
 <input class='form-control' type='email' name='emailAddress' value='{{ old('emailAddress') ? old('emailAddress') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Display</label>
+<label class='control-label'>Name Display </label>
 <input class='form-control' type='text' name='nameDisplay' value='{{ old('nameDisplay') ? old('nameDisplay') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Prefix</label>
+<label class='control-label'>Name Prefix </label>
 <input class='form-control' type='text' name='namePrefix' value='{{ old('namePrefix') ? old('namePrefix') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name First</label>
+<label class='control-label'>Name First </label>
 <input class='form-control' type='text' name='nameFirst' value='{{ old('nameFirst') ? old('nameFirst') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Middle</label>
+<label class='control-label'>Name Middle </label>
 <input class='form-control' type='text' name='nameMiddle' value='{{ old('nameMiddle') ? old('nameMiddle') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Last</label>
+<label class='control-label'>Name Last </label>
 <input class='form-control' type='text' name='nameLast' value='{{ old('nameLast') ? old('nameLast') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Suffix</label>
+<label class='control-label'>Name Suffix </label>
 <input class='form-control' type='text' name='nameSuffix' value='{{ old('nameSuffix') ? old('nameSuffix') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Name Credential</label>
+<label class='control-label'>Name Credential </label>
 <input class='form-control' type='text' name='nameCredential' value='{{ old('nameCredential') ? old('nameCredential') : '' }}' >
 </div>
 <div class='form-group mb-3'>
 <label class='control-label'>Is Hcp 
-<input class='ml-2' type='checkbox' name='isHcp'>
+<input class='ml-2' type='checkbox' name='isHcp' >
 </label>
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Hcp Npi</label>
+<label class='control-label'>Hcp Npi </label>
 <input class='form-control' type='text' name='hcpNpi' value='{{ old('hcpNpi') ? old('hcpNpi') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Previous Profession Category</label>
+<label class='control-label'>Previous Profession Category </label>
 <input class='form-control' type='text' name='previousProfessionCategory' value='{{ old('previousProfessionCategory') ? old('previousProfessionCategory') : '' }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Current Profession Category</label>
+<label class='control-label'>Current Profession Category </label>
 <input class='form-control' type='text' name='currentProfessionCategory' value='{{ old('currentProfessionCategory') ? old('currentProfessionCategory') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/pros/index.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
+    <h3 class="d-flex my-3 px-3">
         <div>Pros: List</div>
         <div class="ml-auto">
             <a class='btn btn-primary btn-sm ml-2' up-modal=".form-contents" up-width="800" up-history="false" href='/pros/add_new'><i class='fa fa-plus-circle' aria-hidden='true'></i> Add New</a>

+ 3 - 0
resources/views/admin/pros/info.blade.php

@@ -0,0 +1,3 @@
+<h4 class="d-flex my-3 px-3">
+    <div>Pros: Single [<?= $record->uid ?>]</div>
+</h4>

+ 8 - 15
resources/views/admin/pros/view.blade.php

@@ -1,25 +1,18 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h3 class="d-flex mb-3">
-        <div>Pros: Single [<?= $record->uid ?>]</div>
-        <div class="ml-auto">
-            <a class="btn btn-primary btn-sm" href="{{route('pros-index')}}">
-                <i class="fa fa-chevron-left" aria-hidden="true"></i>
-                Back
-            </a>
-        </div>
-    </h3>
-
-    <div class="card">
-        <div class="row">
-            <div class="col-3">
+    <div class="card rounded-0">
+        <div class="border-bottom bg-light">@include('admin/pros/info')</div>
+        <div class="d-flex align-items-stretch">
+            <div class="inner-side-nav">
                 <div class="border-right h-100">
                     @include('admin/pros/subs')
                 </div>
             </div>
-            <div class="col-9">
-                @yield('content-inner')
+            <div class="flex-grow-1 px-3 pb-3 mb-3 inner-content">
+                <div>
+                    @yield('content-inner')
+                </div>
             </div>
         </div>
     </div>

+ 2 - 2
resources/views/admin/pros_SINGLE/ACTION_confirmCellNumberWithConfirmationToken.blade.php

@@ -27,11 +27,11 @@
         <input type="hidden" name="_success" value="{{route('pros-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('pros_SINGLE-ACTION_confirmCellNumberWithConfirmationToken', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Cell Number</label>
+<label class='control-label'>Cell Number </label>
 <input class='form-control' type='tel' name='cellNumber' value='{{ old('cellNumber') ? old('cellNumber') : $record->cell_number }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Token</label>
+<label class='control-label'>Token </label>
 <input class='form-control' type='text' name='token' value='{{ old('token') ? old('token') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 2 - 2
resources/views/admin/pros_SINGLE/ACTION_confirmEmailAddressWithConfirmationToken.blade.php

@@ -27,11 +27,11 @@
         <input type="hidden" name="_success" value="{{route('pros-view', ['uid' => $record->uid])}}">
         <input type="hidden" name="_return" value="{{route('pros_SINGLE-ACTION_confirmEmailAddressWithConfirmationToken', ['uid' => $record->uid])}}">
         <div class='form-group mb-3'>
-<label class='control-label'>Email Address</label>
+<label class='control-label'>Email Address </label>
 <input class='form-control' type='email' name='emailAddress' value='{{ old('emailAddress') ? old('emailAddress') : $record->email_address }}' >
 </div>
 <div class='form-group mb-3'>
-<label class='control-label'>Token</label>
+<label class='control-label'>Token </label>
 <input class='form-control' type='text' name='token' value='{{ old('token') ? old('token') : '' }}' >
 </div>
         <div class="form-group mb-3 d-flex justify-content-center">

+ 1 - 1
resources/views/admin/pros_SINGLE/ACTION_lobby_prosAddNew.blade.php

@@ -28,7 +28,7 @@
         <input type="hidden" name="_return" value="{{route('pros_SINGLE-ACTION_lobby_prosAddNew', ['uid' => $record->uid])}}">
         <input class='form-control' type='hidden' name='proUid' value='{{ old('proUid') ? old('proUid') : $record->uid }}' >
 <div class='form-group mb-3'>
-<label class='control-label'>Lobby</label>
+<label class='control-label'>Lobby </label>
 <select class='form-control' name='lobbyUid' value='{{ old('lobbyUid') ? old('lobbyUid') : '' }}' >
 <option value=''>-- Select --</option>
 <?php $dbOptions = \Illuminate\Support\Facades\DB::table('lobby')->get(); ?>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä