]> _ Git - cubedesigners_userdatabase.git/commitdiff
wip #5803 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 14 Mar 2023 17:15:09 +0000 (18:15 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 14 Mar 2023 17:15:09 +0000 (18:15 +0100)
src/app/Jobs/ApplyPermissionsToUsers.php [new file with mode: 0644]
src/app/Models/Company.php
src/resources/views/fields/users.blade.php

diff --git a/src/app/Jobs/ApplyPermissionsToUsers.php b/src/app/Jobs/ApplyPermissionsToUsers.php
new file mode 100644 (file)
index 0000000..f5979e5
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+namespace Cubedesigners\UserDatabase\Jobs;
+
+use Cubedesigners\UserDatabase\Models\Company;
+use Cubist\Backpack\Jobs\Base;
+
+class ApplyPermissionsToUsers extends Base
+{
+    public function handle()
+    {
+        foreach (Company::withoutGlobalScopes()->all() as $company) {
+            if ($company->id == 7) {
+                continue;
+            }
+            dd($company);
+        }
+    }
+}
index 71685daf91e3063e0d7207aa1796b3e762643130..6e8400bb104def554d2aa8edabaa86063e4db703 100644 (file)
@@ -32,17 +32,6 @@ class Company extends CubistMagicAbstractModel
             'column' => true,
             'tab' => __('Informations')]);
 
-        $this->addField(['name' => 'address',
-            'type' => 'BunchOfFields',
-            'bunch' => Address::class,
-            'label' => __('Adresse'),
-            'tab' => __('Adresses')]);
-
-        $this->addField(['name' => 'billing_address',
-            'type' => 'BunchOfFields',
-            'bunch' => Address::class,
-            'label' => __('Adresse de facturation'),
-            'tab' => __('Adresses')]);
 
         $this->addField(['name' => 'vat_number',
             'type' => 'VATNumber',
@@ -75,10 +64,51 @@ class Company extends CubistMagicAbstractModel
             'optionsmodel' => User::class,
             'attribute' => 'nameWithCompany',
             'label' => __('Administrateur'),
-            'tab' => __('Informations'),
+            'tab' => __('Permissions'),
+            'column' => true,
             'default' => $buid,
         ]);
 
+        $this->addField(['name' => 'e1_ws_grade',
+                'label' => __('Permissions Fluidbook'),
+                'type' => 'SelectFromArray',
+                'options' => [0 => __('Pas d\'accès'),
+                    1 => __('Client'),
+                    2 => __('Client (création)'),
+                    3 => __('Revendeur'),
+                    4 => __('Revendeur (création)'),
+                    5 => __('Admin'),
+                ],
+                'default' => 0,
+                'database_default' => 0,
+                'allows_empty' => false,
+                'column' => true,
+                'tab' => __('Permissions')]
+        );
+
+        $this->addField(['name' => 'permissions_elearning',
+                'label' => __('Permissions e-Learning'),
+                'type' => 'Checkbox',
+                'default' => 0,
+                'database_default' => 0,
+                'allows_empty' => false,
+                'column' => true,
+                'tab' => __('Permissions')]
+        );
+
+        $this->addField(['name' => 'address',
+            'type' => 'BunchOfFields',
+            'bunch' => Address::class,
+            'label' => __('Adresse'),
+            'tab' => __('Adresses')]);
+
+        $this->addField(['name' => 'billing_address',
+            'type' => 'BunchOfFields',
+            'bunch' => Address::class,
+            'label' => __('Adresse de facturation'),
+            'tab' => __('Adresses')]);
+
+
         $this->addField([
             'name' => 'users',
             'type' => Users::class,
@@ -130,17 +160,7 @@ class Company extends CubistMagicAbstractModel
         $this->addField(['name' => 'e1_ws_signatures',
             'type' => 'Hidden']);
 
-        $this->addField(['name' => 'e1_ws_grade',
-            'label' => 'Grade Workshop V2',
-            'type' => 'SelectFromArray',
-            'options' => [0 => __('Pas d\'accès'),
-                1 => __('Client'),
-                2 => __('Client (création)'),
-                3 => __('Revendeur'),
-                4 => __('Revendeur (création)'),
-                5 => __('Admin'),
-            ],
-            'tab' => 'Workshop V2']);
+
     }
 
     public function isOwner($user)
index 34c90fea0b372723e49ad787c4008233405fb355..370e79d006969425473dcf11a237ea196e478e3e 100644 (file)
@@ -7,12 +7,16 @@
                class="btn btn-light btn-small"><i class="la la-plus"></i> {{__('Ajouter un contact')}}</a>
         </div>
         <table id="cubedesigners-user-list">
-            @foreach($entry->getUsers() as $id=>$name)
+            @foreach($entry->getUsers() as $id=>$user)
                 <tr>
-                    <td>{{$id}}</td>
-                    <td>{{$name}}</td>
-                    <td class="min"><a href="{!! backpack_url('users/'.$id.'/loginas')!!}"><i
-                                class="las la-key"></i> {{__('Se connecter comme')}}</a></td>
+                    <td @if(!$user['enabled']) class="disabled" @endif>{{$id}}</td>
+                    <td @if(!$user['enabled']) class="disabled" @endif>{{($user['name']?:'-')}}</td>
+                    <td class="min">
+                        @if($user['enabled'])
+                            <a href="{!! backpack_url('users/'.$id.'/loginas')!!}"><i
+                                    class="las la-key"></i> {{__('Se connecter comme')}}</a>
+                        @endif
+                    </td>
                     <td class="min"><a data-featherlight="iframe"
                                        data-featherlight-iframe-style="display:block;width:85vw;height:85vh;"
                                        href="{!! backpack_url('users/'.$id.'/edit?embeded=1') !!}"><i
                 white-space: nowrap;
             }
 
-            #cubedesigners-user-list tr{
-                border:1px solid #dce1e8;
-                background-color:#fff;
+            #cubedesigners-user-list tr {
+                border: 1px solid #dce1e8;
+                background-color: #fff;
             }
 
-            #cubedesigners-user-list tr:hover{
-                border:1px solid #dce1e8;
-                background-color:#ebebee;
+            #cubedesigners-user-list tr:hover {
+                border: 1px solid #dce1e8;
+                background-color: #ebebee;
             }
 
-            #cubedesigners-user-list tr:nth-child(even){
-                background-color:#fafafa;
+            #cubedesigners-user-list tr:nth-child(even) {
+                background-color: #fafafa;
             }
 
-            #cubedesigners-user-list td{
-                padding:5px 7px;
+            #cubedesigners-user-list td {
+                padding: 5px 7px;
+            }
+
+            #cubedesigners-user-list td.disabled {
+                color: #999;
+                text-decoration: line-through;
             }
         </style>
     @endpush