Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14690 | Rev 15092 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 14690 Rev 15088
Línea 18... Línea 18...
18
use LeadersLinked\Mapper\CompanyUserMapper;
18
use LeadersLinked\Mapper\CompanyUserMapper;
19
use LeadersLinked\Mapper\CompanyUserRoleMapper;
19
use LeadersLinked\Mapper\CompanyUserRoleMapper;
20
use LeadersLinked\Mapper\RoleMapper;
20
use LeadersLinked\Mapper\RoleMapper;
21
use LeadersLinked\Mapper\CompanyServiceMapper;
21
use LeadersLinked\Mapper\CompanyServiceMapper;
22
use LeadersLinked\Model\Service;
22
use LeadersLinked\Model\Service;
-
 
23
use LeadersLinked\Model\User;
-
 
24
use LeadersLinked\Model\UserType;
-
 
25
use LeadersLinked\Model\CompanyService;
-
 
26
use LeadersLinked\Model\CompanyUser;
Línea 23... Línea 27...
23
 
27
 
24
class Module 
28
class Module 
25
{
29
{
26
    /**
30
    /**
Línea 154... Línea 158...
154
        $serviceManager = $event->getApplication()->getServiceManager();
158
        $serviceManager = $event->getApplication()->getServiceManager();
155
        $adapter = $serviceManager->get('leaders-linked-db');
159
        $adapter = $serviceManager->get('leaders-linked-db');
Línea 156... Línea 160...
156
        
160
        
Línea -... Línea 161...
-
 
161
        require_once   (dirname(__DIR__) . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'acl.config.php');
Línea 157... Línea 162...
157
        require_once   (dirname(__DIR__) . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'acl.config.php');
162
        
158
        
163
        //header('Content-type: text/plain');
159
        
164
        
160
        $this->acl = new Acl();
165
        $this->acl = new Acl();
161
        $resources = getAclResources();
166
        $resources = getAclResources();
Línea 162... Línea 167...
162
        foreach($resources as $resourceName)
167
        foreach($resources as $resourceName)
163
        {
168
        {
Línea -... Línea 169...
-
 
169
           //echo $resourceName . PHP_EOL;
-
 
170
            
Línea -... Línea 171...
-
 
171
            $this->acl->addResource(new GenericResource($resourceName));
Línea -... Línea 172...
-
 
172
        }
-
 
173
        
164
           // echo $resourceName . PHP_EOL;
174
        
165
            
175
        
166
            $this->acl->addResource(new GenericResource($resourceName));
-
 
167
        }
-
 
168
        
-
 
169
 
-
 
170
        
-
 
Línea -... Línea 176...
-
 
176
 
171
        
177
        
172
        $company = $this->currentUser->getCompany(); 
-
 
Línea 173... Línea 178...
173
        if($company) { 
178
    
Línea 174... Línea 179...
174
            $companyServiceMapper = CompanyServiceMapper::getInstance($adapter);
179
        
175
            $companyServiceMicrolearning = $companyServiceMapper->fetchOneActiveByCompanyIdAndServiceId($company->id, Service::MICRO_LEARNING);
180
        
-
 
181
        $user = $this->currentUser->getUser(); 
-
 
182
        $company = $this->currentUser->getCompany(); 
-
 
183
        if($company) { 
-
 
184
            
-
 
185
            $resources = [];
Línea 176... Línea -...
176
            $companyServicePerformance = $companyServiceMapper->fetchOneActiveByCompanyIdAndServiceId($company->id, Service::PERFORMANCE_EVALUATION); 
-
 
177
            $companyServiceAutoEvaluation = $companyServiceMapper->fetchOneActiveByCompanyIdAndServiceId($company->id, Service::SELF_EVALUATION);
-
 
178
            $roles = getAclRolesCompany(); 
186
            
179
            
-
 
180
          
-
 
181
            $user = $this->currentUser->getUser(); 
-
 
-
 
187
            
-
 
188
            $this->acl->addRole(new GenericRole($user->usertype_id));
-
 
189
            
-
 
190
            $rolesForUsertype = getAclUsertype();
-
 
191
            foreach($rolesForUsertype[UserType::USER] as $resourceName)
-
 
192
            {
-
 
193
                if(!in_array($resourceName, $resources)) {
-
 
194
                    array_push($resources, $resourceName);
-
 
195
                }
-
 
196
            }
182
            
197
            
183
            $this->acl->addRole(new GenericRole($user->usertype_id));
198
         
184
            
199
            
-
 
200
            
185
            $companyUserMapper = CompanyUserMapper::getInstance($adapter);
201
            
-
 
202
            
-
 
203
            
186
            $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $user->id);
204
            
187
            
205
            
188
            if($companyUser && $companyUser->creator) {
206
            
189
                if(isset($roles['creator'])) {
207
            
190
                
208
            
Línea 191... Línea 209...
191
                    foreach($roles['creator'] as $resourceName)
209
            $servicesActive = [];
192
                    {
-
 
193
                        $this->acl->allow($user->usertype_id, $resourceName);
-
 
194
                    }
210
            
195
                    
-
 
196
                
211
            
-
 
212
            $now = date('Y-m-d');
-
 
213
            $companyServiceMapper = CompanyServiceMapper::getInstance($adapter);
-
 
214
            $companyServices = $companyServiceMapper->fetchAllByCompanyId($company->id);            
-
 
215
            
-
 
216
            foreach($companyServices as $companyService) 
-
 
217
            {
-
 
218
                if($companyService->status == CompanyService::ACTIVE &&
-
 
219
                    $companyService->paid_from >= $now &&     
-
 
220
                    $companyService->paid_to <= $now) {
-
 
221
                    
-
 
222
                    if(!in_array($companyService->id, $servicesActive)) {
Línea -... Línea 223...
-
 
223
                        array_push($servicesActive, $companyService->id);
-
 
224
                    }
-
 
225
                }
-
 
226
                
-
 
227
                
-
 
228
                array_push($servicesActive, $companyService->service_id);
-
 
229
            }
-
 
230
            
-
 
231
            
-
 
232
            $rolesForCompany = getAclRolesCompany(); 
Línea -... Línea 233...
-
 
233
 
197
                    if($companyServiceMicrolearning) {
234
            
-
 
235
          
198
                        foreach($roles['creator-microlearning'] as $resourceName)
236
 
199
                        {
237
            $companyUserMapper = CompanyUserMapper::getInstance($adapter);
-
 
238
            $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $user->id);
-
 
239
 
-
 
240
            $roleMapper = RoleMapper::getInstance($adapter); 
-
 
241
         
200
                            $this->acl->allow($user->usertype_id, $resourceName);
242
   
-
 
243
            
-
 
244
            if($companyUser) { 
-
 
245
                
201
                        }
246
                if($companyUser->creator == CompanyUser::CREATOR_YES) {
202
                    }
247
 
Línea 203... Línea -...
203
                    
-
 
204
                    if($companyServiceAutoEvaluation) {
248
                    $roles = $roleMapper->fetchAllForCreator();
205
                        foreach($roles['creator-self-evaluation'] as $resourceName)
249
                    if($roles) {
206
                        {
-
 
207
                            $this->acl->allow($user->usertype_id, $resourceName);
250
                        
208
                        }
251
                        foreach($roles as $role)
209
                    }
252
                        {
210
 
-
 
211
 
253
                            if(!empty($rolesForCompany[$role->code])) {
-
 
254
                                foreach($rolesForCompany[$role->code] as $resourceName) {
-
 
255
                                  
212
                    if($companyServicePerformance) {
256
                                    if(!in_array($resourceName, $resources)) {
213
                        foreach($roles['creator-performance-evaluation'] as $resourceName)
257
                                        array_push($resources, $resourceName);
214
                        {
-
 
215
                            $this->acl->allow($user->usertype_id, $resourceName);
258
                                    }
216
                        }
259
                                }
217
                    }
260
                            }
218
                    
261
                        }
-
 
262
                    }
-
 
263
                    
-
 
264
                    
219
                }
265
                    foreach ($servicesActive as $service_id) {
Línea -... Línea 266...
-
 
266
                        $roles = $roleMapper->fetchAllByServiceId($service_id);
-
 
267
                        foreach($roles as $role) {
-
 
268
                            
-
 
269
                            
-
 
270
                            if(!empty($rolesForCompany[$role->code])) {
-
 
271
                                foreach($rolesForCompany[$role->code] as $resourceName) {
-
 
272
                                    
-
 
273
                                    if(!in_array($resourceName, $resources)) {
220
                
274
                                        array_push($resources, $resourceName);
-
 
275
                                    }
-
 
276
                                }
-
 
277
                            }
-
 
278
                            
-
 
279
                            
221
            } else {
280
                            
-
 
281
                        }
-
 
282
                        
-
 
283
                    }
-
 
284
                } else {
-
 
285
                    $companyUserRoleMapper = CompanyUserRoleMapper::getInstance($adapter);
-
 
286
                    $companyUserRoles = $companyUserRoleMapper->fetchAllByCompanyIdAndUserId($company->id, $user->id);
-
 
287
                     
-
 
288
                    foreach($companyUserRoles as $companyUserRole)
-
 
289
                    {
-
 
290
 
-
 
291
                         $role = $roleMapper->fetchOne($companyUserRole->role_id);
-
 
292
                         if($role) {
222
                
293
                         
Línea 223... Línea -...
223
                $companyUserRoleMapper = CompanyUserRoleMapper::getInstance($this->adapter);
-
 
224
                $companyUserRoles = $companyUserRoleMapper->fetchAllByCompanyIdAndUserId($company->id, $user->id);
-
 
225
                
-
 
226
                $roleMapper = RoleMapper::getInstance($this->adapter); 
-
 
227
                
-
 
Línea 228... Línea -...
228
                
-
 
229
                foreach($companyUserRoles as $companyUserRole)
-
 
230
                {
-
 
231
                    $role = $roleMapper->fetchOne($companyUserRole->role_id);
-
 
232
                    if($role) { 
-
 
233
                        if($role->service_id == Service::SELF_EVALUATION && !$companyServiceAutoEvaluation) {
-
 
234
                            continue;
294
                             if($role->service_id) {
235
                        }
295
                             
236
                        
-
 
237
                        if($role->service_id == Service::MICRO_LEARNING && !$companyServiceMicrolearning) {
296
                             if(!in_array($role->service_id, $servicesActive)) {
238
                            continue;
-
 
Línea -... Línea 297...
-
 
297
                                continue;
-
 
298
                             }
-
 
299
                         }
-
 
300
                         
-
 
301
                         if(isset($roles[ $role->code ] )) {
Línea -... Línea 302...
-
 
302
                             foreach($roles[ $role->code ] as $resourceName)
Línea 239... Línea -...
239
                        }
-
 
240
 
-
 
-
 
303
                             {
241
                        if($role->service_id == Service::MICRO_LEARNING && !$companyServicePerformance) {
304
                                 if(!in_array($resourceName, $resources)) {
242
                            continue;
305
                                    array_push($resources, $resourceName);
243
                        }
306
                                 }
244
                        
307
                                 
245
                        if(isset($roles[ $role->code ] )) { 
308
                             }
-
 
309
                         }
246
                        
310
                         }
247
                    
311
 
248
                            foreach($roles[ $role->code ] as $resourceName)
312
                        
249
                            {
-
 
250
                                $this->acl->allow($user->usertype_id, $resourceName);
313
                    }
251
                            }
-
 
252
                        } 
-
 
253
                    }
314
                }
254
                }
315
            } 
Línea 255... Línea 316...
255
                
316
            
256
            }
317