Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 3648 Rev 3912
Línea 37... Línea 37...
37
use LeadersLinked\Form\UserProfile\EducationForm;
37
use LeadersLinked\Form\UserProfile\EducationForm;
38
use LeadersLinked\Model\UserEducation;
38
use LeadersLinked\Model\UserEducation;
39
use LeadersLinked\Mapper\UserEducationMapper;
39
use LeadersLinked\Mapper\UserEducationMapper;
40
use LeadersLinked\Mapper\DegreeMapper;
40
use LeadersLinked\Mapper\DegreeMapper;
41
use LeadersLinked\Form\UserProfile\ExperienceForm;
41
use LeadersLinked\Form\UserProfile\ExperienceForm;
-
 
42
use LeadersLinked\Mapper\AptitudeMapper;
42
use LeadersLinked\Mapper\LanguageMapper;
43
use LeadersLinked\Mapper\LanguageMapper;
-
 
44
use LeadersLinked\Mapper\UserAptitudeMapper;
43
use LeadersLinked\Mapper\UserExperienceMapper;
45
use LeadersLinked\Mapper\UserExperienceMapper;
44
use LeadersLinked\Mapper\IndustryMapper;
46
use LeadersLinked\Mapper\IndustryMapper;
45
use LeadersLinked\Mapper\CompanySizeMapper;
47
use LeadersLinked\Mapper\CompanySizeMapper;
46
use LeadersLinked\Model\UserExperience;
48
use LeadersLinked\Model\UserExperience;
47
use LeadersLinked\Mapper\ConnectionMapper;
49
use LeadersLinked\Mapper\ConnectionMapper;
48
use LeadersLinked\Form\UserProfile\ImageForm;
50
use LeadersLinked\Form\UserProfile\ImageForm;
49
use LeadersLinked\Library\Image;
51
use LeadersLinked\Library\Image;
50
use LeadersLinked\Form\UserProfile\CoverForm;
52
use LeadersLinked\Form\UserProfile\CoverForm;
51
use LeadersLinked\Mapper\SkillMapper;
53
use LeadersLinked\Mapper\SkillMapper;
52
use LeadersLinked\Form\MyProfiles\CreateForm;
54
use LeadersLinked\Form\MyProfiles\CreateForm;
-
 
55
use LeadersLinked\Form\UserProfile\AptitudeForm;
-
 
56
use LeadersLinked\Model\UserAptitude;
-
 
57
use LeadersLinked\Form\UserProfile\HobbyAndInterestForm;
-
 
58
use LeadersLinked\Mapper\HobbyAndInterestMapper;
-
 
59
use LeadersLinked\Mapper\UserHobbyAndInterestMapper;
-
 
60
use LeadersLinked\Model\UserHobbyAndInterest;
Línea 53... Línea 61...
53
 
61
 
54
 
62
 
55
class MyProfilesController extends AbstractActionController
63
class MyProfilesController extends AbstractActionController
Línea 497... Línea 505...
497
                    }
505
                    }
Línea 498... Línea 506...
498
                    
506
                    
499
                }
507
                }
Línea -... Línea 508...
-
 
508
            }
-
 
509
            
-
 
510
            $userAptitudes = [];
-
 
511
            $aptitudeMapper = AptitudeMapper::getInstance($this->adapter);
-
 
512
            $userAptitudeMapper = UserAptitudeMapper::getInstance($this->adapter);
-
 
513
            $records  = $userAptitudeMapper->fetchAllByUserProfileId($userProfile->id);
-
 
514
            foreach($records as $record)
-
 
515
            {
-
 
516
                $aptitude = $aptitudeMapper->fetchOne($record->aptitude_id);
-
 
517
                if($aptitude) {
-
 
518
                    $userAptitudes[$aptitude->uuid] = $aptitude->name;
-
 
519
                }
-
 
520
            }
-
 
521
            
-
 
522
            $userHobbiesAndInterests = [];
-
 
523
            $hobbyAndInterestMapper = HobbyAndInterestMapper::getInstance($this->adapter);
-
 
524
            $userHobbyAndInterestMapper = UserHobbyAndInterestMapper::getInstance($this->adapter);
-
 
525
            $records  = $userHobbyAndInterestMapper->fetchAllByUserProfileId($userProfile->id);
-
 
526
            foreach($records as $record)
-
 
527
            {
-
 
528
                $hobbyAndInterest = $hobbyAndInterestMapper->fetchOne($record->hobby_and_interest_id);
-
 
529
                if($hobbyAndInterest) {
-
 
530
                    $userHobbiesAndInterests[$hobbyAndInterest->uuid] = $hobbyAndInterest->name;
Línea 500... Línea 531...
500
            }
531
                }
501
            
532
            }
502
 
533
 
Línea 543... Línea 574...
543
                    'country'           => $country,
574
                    'country'           => $country,
544
                    'user_skills'       => $userSkills,
575
                    'user_skills'       => $userSkills,
545
                    'user_languages'    => $userLanguages,
576
                    'user_languages'    => $userLanguages,
546
                    'user_educations'   => $userEducations,
577
                    'user_educations'   => $userEducations,
547
                    'user_experiences'  => $userExperiences,
578
                    'user_experiences'  => $userExperiences,
-
 
579
                    'user_aptitudes'                => $userAptitudes,
-
 
580
                    'user_hobbies_and_interests'    => $userHobbiesAndInterests,
548
                    'image_size_cover' =>  $image_size_cover,
581
                    'image_size_cover' =>  $image_size_cover,
549
                    'image_size_profile' => $image_size_profile
582
                    'image_size_profile' => $image_size_profile
550
                ];
583
                ];
Línea 551... Línea 584...
551
                
584
                
Línea 589... Línea 622...
589
                $records =  $skillMapper->fetchAllActive();
622
                $records =  $skillMapper->fetchAllActive();
590
                foreach($records as $record) {
623
                foreach($records as $record) {
591
                    $skills[$record->uuid] = $record->name;
624
                    $skills[$record->uuid] = $record->name;
592
                }
625
                }
Línea -... Línea 626...
-
 
626
                
-
 
627
                $aptitudes = [];
-
 
628
                $aptitudeMapper = AptitudeMapper::getInstance($this->adapter);
-
 
629
                $records =  $aptitudeMapper->fetchAllActive();
-
 
630
                foreach($records as $record) {
-
 
631
                    $aptitudes[$record->uuid] = $record->name;
-
 
632
                }
-
 
633
                
-
 
634
                
-
 
635
                $hobbiesAndInterests = [];
-
 
636
                $hobbyAndInterestMapper = HobbyAndInterestMapper::getInstance($this->adapter);
-
 
637
                $records =  $hobbyAndInterestMapper->fetchAllActive();
-
 
638
                foreach($records as $record) {
-
 
639
                    $hobbiesAndInterests[$record->uuid] = $record->name;
-
 
640
                }
-
 
641
                
Línea 593... Línea 642...
593
                
642
                
594
                
643
                
595
                $formSkill = new SkillForm($this->adapter);
644
                $formSkill = new SkillForm($this->adapter);
596
                $formLanguage = new LanguageForm($this->adapter);
645
                $formLanguage = new LanguageForm($this->adapter);
Línea 633... Línea 682...
633
                    'company_sizes'     => $companySizes,
682
                    'company_sizes'     => $companySizes,
634
                    'degrees'           => $degrees,
683
                    'degrees'           => $degrees,
635
                    'industries'        => $industries,
684
                    'industries'        => $industries,
636
                    'languages'         => $languages,
685
                    'languages'         => $languages,
637
                    'skills'            => $skills,
686
                    'skills'            => $skills,
-
 
687
                    'aptitudes'         => $aptitudes,
-
 
688
                    'hobbies_and_interests'         => $hobbiesAndInterests,
Línea 638... Línea -...
638
                    
-
 
-
 
689
                    
-
 
690
                    'user_aptitudes'                => $userAptitudes,
639
                    
691
                    'user_hobbies_and_interests'    => $userHobbiesAndInterests,
640
                    'formLanguage'      => $formLanguage,
692
                    'formLanguage'      => $formLanguage,
641
                    'formLocation'      => $formLocation,
693
                    'formLocation'      => $formLocation,
642
                    'formSkill'         => $formSkill,
694
                    'formSkill'         => $formSkill,
643
                    'formSocialNetwork' => $formSocialNetwork,
695
                    'formSocialNetwork' => $formSocialNetwork,
Línea 779... Línea 831...
779
                return new JsonModel([
831
                return new JsonModel([
780
                    'success'   => false,
832
                    'success'   => false,
781
                    'data'   => $messages
833
                    'data'   => $messages
782
                ]);
834
                ]);
783
            }
835
            }
784
            
836
 
785
            $userSkillMapper = UserSkillMapper::getInstance($this->adapter);
-
 
786
            
-
 
787
        }
837
        }
Línea 788... Línea 838...
788
        
838
        
789
        
839
        
Línea 2026... Línea 2076...
2026
        }
2076
        }
Línea 2027... Línea 2077...
2027
        
2077
        
2028
        
2078
        
-
 
2079
        $data = [
-
 
2080
            'success' => false,
-
 
2081
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
2082
        ];
-
 
2083
        
-
 
2084
        
-
 
2085
        return new JsonModel($data);
-
 
2086
    }
-
 
2087
    
-
 
2088
    /**
-
 
2089
     * Actualización de las habilidades
-
 
2090
     * @return \Laminas\View\Model\JsonModel
-
 
2091
     */
-
 
2092
    public function aptitudeAction()
-
 
2093
    {
-
 
2094
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
2095
        $currentUser = $currentUserPlugin->getUser();
-
 
2096
        
-
 
2097
        $user_profile_id = $this->params()->fromRoute('id');
-
 
2098
        $userProfileMapper = UserProfileMapper::getInstance($this->adapter);
-
 
2099
        
-
 
2100
        $userProfile = $userProfileMapper->fetchOneByUuid($user_profile_id);
-
 
2101
        if(!$userProfile) {
-
 
2102
            $response = [
-
 
2103
                'success' => false,
-
 
2104
                'data' => 'ERROR_INVALID_PARAMETER'
-
 
2105
            ];
-
 
2106
            
-
 
2107
            return new JsonModel($response);
-
 
2108
            
-
 
2109
        }
-
 
2110
        
-
 
2111
        if($currentUser->id != $userProfile->user_id) {
-
 
2112
            $response = [
-
 
2113
                'success' => false,
-
 
2114
                'data' => 'ERROR_UNAUTHORIZED'
-
 
2115
            ];
-
 
2116
            
-
 
2117
            return new JsonModel($response);
-
 
2118
        }
-
 
2119
        
-
 
2120
        
-
 
2121
        
-
 
2122
        $request = $this->getRequest();
-
 
2123
        if($request->isGet()) {
-
 
2124
            $aptitudeMapper = AptitudeMapper::getInstance($this->adapter);
-
 
2125
            
-
 
2126
            
-
 
2127
            $userAptitudeMapper = UserAptitudeMapper::getInstance($this->adapter);
-
 
2128
            $userAptitudes  = $userAptitudeMapper->fetchAllByUserProfileId($userProfile->id);
-
 
2129
            
-
 
2130
            $items = [];
-
 
2131
            foreach($userAptitudes as $userAptitude)
-
 
2132
            {
-
 
2133
                $aptitude = $aptitudeMapper->fetchOne($userAptitude->aptitude_id);
-
 
2134
                array_push($items, $aptitude->uuid);
-
 
2135
            }
-
 
2136
            
-
 
2137
            $data = [
-
 
2138
                'success' => true,
-
 
2139
                'data' => $items
-
 
2140
            ];
-
 
2141
            
-
 
2142
            return new JsonModel($data);
-
 
2143
            
-
 
2144
            
-
 
2145
        } else if($request->isPost()) {
-
 
2146
            
-
 
2147
            $form = new AptitudeForm($this->adapter);
-
 
2148
            $dataPost = $request->getPost()->toArray();
-
 
2149
            
-
 
2150
            $form->setData($dataPost);
-
 
2151
            
-
 
2152
            if($form->isValid()) {
-
 
2153
                $this->logger->info('Se actualizaron las habilidades del perfil ' . ($userProfile->public == UserProfile::PUBLIC_YES ? 'público' : $userProfile->name), ['user_id' => $userProfile->user_id, 'ip' => Functions::getUserIP()]);
-
 
2154
                
-
 
2155
                $aptitudeMapper = AptitudeMapper::getInstance($this->adapter);
-
 
2156
                
-
 
2157
                
-
 
2158
                $userAptitudeMapper = UserAptitudeMapper::getInstance($this->adapter);
-
 
2159
                $userAptitudeMapper->deleteByUserProfileId($userProfile->id);
-
 
2160
                
-
 
2161
                $dataPost = (array) $form->getData();
-
 
2162
                $aptitudes = $dataPost['aptitudes'];
-
 
2163
                foreach($aptitudes as $aptitude_uuid)
-
 
2164
                {
-
 
2165
                    
-
 
2166
                    $aptitude = $aptitudeMapper->fetchOneByUuid($aptitude_uuid);
-
 
2167
                    
-
 
2168
                    
-
 
2169
                    $userAptitude = new UserAptitude();
-
 
2170
                    $userAptitude->user_id = $userProfile->user_id;
-
 
2171
                    $userAptitude->user_profile_id = $userProfile->id;
-
 
2172
                    $userAptitude->aptitude_id =  $aptitude->id;
-
 
2173
                    
-
 
2174
                    $userAptitudeMapper->insert($userAptitude);
-
 
2175
                }
-
 
2176
                
-
 
2177
                $items = [];
-
 
2178
                
-
 
2179
                $records = $userAptitudeMapper->fetchAllByUserProfileId($userProfile->id);
-
 
2180
                foreach($records as $record)
-
 
2181
                {
-
 
2182
                    $aptitude = $aptitudeMapper->fetchOne($record->aptitude_id);
-
 
2183
                    array_push($items,  ['value' => $aptitude->uuid, 'label' => $aptitude->name]);
-
 
2184
                }
-
 
2185
                
-
 
2186
                return new JsonModel([
-
 
2187
                    'success'   => true,
-
 
2188
                    'data'   => $items
-
 
2189
                ]);
-
 
2190
                
-
 
2191
            } else {
-
 
2192
                $messages = [];
-
 
2193
                $form_messages = (array) $form->getMessages();
-
 
2194
                foreach($form_messages  as $fieldname => $field_messages)
-
 
2195
                {
-
 
2196
                    $messages[$fieldname] = array_values($field_messages);
-
 
2197
                }
-
 
2198
                
-
 
2199
                return new JsonModel([
-
 
2200
                    'success'   => false,
-
 
2201
                    'data'   => $messages
-
 
2202
                ]);
-
 
2203
            }
-
 
2204
            
-
 
2205
            $userAptitudeMapper = UserAptitudeMapper::getInstance($this->adapter);
-
 
2206
            
-
 
2207
        }
-
 
2208
        
-
 
2209
        
-
 
2210
        $data = [
-
 
2211
            'success' => false,
-
 
2212
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
2213
        ];
-
 
2214
        
-
 
2215
        
-
 
2216
        return new JsonModel($data);
-
 
2217
    }
-
 
2218
    
-
 
2219
    /**
-
 
2220
     * Actualización de las habilidades
-
 
2221
     * @return \Laminas\View\Model\JsonModel
-
 
2222
     */
-
 
2223
    public function hobbyAndInterestAction()
-
 
2224
    {
-
 
2225
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
2226
        $currentUser = $currentUserPlugin->getUser();
-
 
2227
        
-
 
2228
        $user_profile_id = $this->params()->fromRoute('id');
-
 
2229
        $userProfileMapper = UserProfileMapper::getInstance($this->adapter);
-
 
2230
        
-
 
2231
        $userProfile = $userProfileMapper->fetchOneByUuid($user_profile_id);
-
 
2232
        if(!$userProfile) {
-
 
2233
            $response = [
-
 
2234
                'success' => false,
-
 
2235
                'data' => 'ERROR_INVALID_PARAMETER'
-
 
2236
            ];
-
 
2237
            
-
 
2238
            return new JsonModel($response);
-
 
2239
            
-
 
2240
        }
-
 
2241
        
-
 
2242
        if($currentUser->id != $userProfile->user_id) {
-
 
2243
            $response = [
-
 
2244
                'success' => false,
-
 
2245
                'data' => 'ERROR_UNAUTHORIZED'
-
 
2246
            ];
-
 
2247
            
-
 
2248
            return new JsonModel($response);
-
 
2249
        }
-
 
2250
        
-
 
2251
        
-
 
2252
        
-
 
2253
        $request = $this->getRequest();
-
 
2254
        if($request->isGet()) {
-
 
2255
            $hobbyAndInterestMapper = HobbyAndInterestMapper::getInstance($this->adapter);
-
 
2256
            
-
 
2257
            
-
 
2258
            $userHobbyAndInterestMapper = UserHobbyAndInterestMapper::getInstance($this->adapter);
-
 
2259
            $userHobbyAndInterests  = $userHobbyAndInterestMapper->fetchAllByUserProfileId($userProfile->id);
-
 
2260
            
-
 
2261
            $items = [];
-
 
2262
            foreach($userHobbyAndInterests as $userHobbyAndInterest)
-
 
2263
            {
-
 
2264
                $hobbyAndInterest = $hobbyAndInterestMapper->fetchOne($userHobbyAndInterest->hobbyAndInterest_id);
-
 
2265
                array_push($items, $hobbyAndInterest->uuid);
-
 
2266
            }
-
 
2267
            
-
 
2268
            $data = [
-
 
2269
                'success' => true,
-
 
2270
                'data' => $items
-
 
2271
            ];
-
 
2272
            
-
 
2273
            return new JsonModel($data);
-
 
2274
            
-
 
2275
            
-
 
2276
        } else if($request->isPost()) {
-
 
2277
            
-
 
2278
            $form = new HobbyAndInterestForm($this->adapter);
-
 
2279
            $dataPost = $request->getPost()->toArray();
-
 
2280
            
-
 
2281
            $form->setData($dataPost);
-
 
2282
            
-
 
2283
            if($form->isValid()) {
-
 
2284
                $this->logger->info('Se actualizaron las habilidades del perfil ' . ($userProfile->public == UserProfile::PUBLIC_YES ? 'público' : $userProfile->name), ['user_id' => $userProfile->user_id, 'ip' => Functions::getUserIP()]);
-
 
2285
                
-
 
2286
                $hobbyAndInterestMapper = HobbyAndInterestMapper::getInstance($this->adapter);
-
 
2287
                
-
 
2288
                
-
 
2289
                $userHobbyAndInterestMapper = UserHobbyAndInterestMapper::getInstance($this->adapter);
-
 
2290
                $userHobbyAndInterestMapper->deleteByUserProfileId($userProfile->id);
-
 
2291
                
-
 
2292
                $dataPost = (array) $form->getData();
-
 
2293
                $hobbyAndInterests = $dataPost['hobbies_and_interests'];
-
 
2294
                foreach($hobbyAndInterests as $hobbyAndInterest_uuid)
-
 
2295
                {
-
 
2296
                    
-
 
2297
                    $hobbyAndInterest = $hobbyAndInterestMapper->fetchOneByUuid($hobbyAndInterest_uuid);
-
 
2298
                    
-
 
2299
                    
-
 
2300
                    $userHobbyAndInterest = new UserHobbyAndInterest();
-
 
2301
                    $userHobbyAndInterest->user_id = $userProfile->user_id;
-
 
2302
                    $userHobbyAndInterest->user_profile_id = $userProfile->id;
-
 
2303
                    $userHobbyAndInterest->hobbyAndInterest_id =  $hobbyAndInterest->id;
-
 
2304
                    
-
 
2305
                    $userHobbyAndInterestMapper->insert($userHobbyAndInterest);
-
 
2306
                }
-
 
2307
                
-
 
2308
                $items = [];
-
 
2309
                
-
 
2310
                $records = $userHobbyAndInterestMapper->fetchAllByUserProfileId($userProfile->id);
-
 
2311
                foreach($records as $record)
-
 
2312
                {
-
 
2313
                    $hobbyAndInterest = $hobbyAndInterestMapper->fetchOne($record->hobbyAndInterest_id);
-
 
2314
                    array_push($items,  ['value' => $hobbyAndInterest->uuid, 'label' => $hobbyAndInterest->name]);
-
 
2315
                }
-
 
2316
                
-
 
2317
                return new JsonModel([
-
 
2318
                    'success'   => true,
-
 
2319
                    'data'   => $items
-
 
2320
                ]);
-
 
2321
                
-
 
2322
            } else {
-
 
2323
                $messages = [];
-
 
2324
                $form_messages = (array) $form->getMessages();
-
 
2325
                foreach($form_messages  as $fieldname => $field_messages)
-
 
2326
                {
-
 
2327
                    $messages[$fieldname] = array_values($field_messages);
-
 
2328
                }
-
 
2329
                
-
 
2330
                return new JsonModel([
-
 
2331
                    'success'   => false,
-
 
2332
                    'data'   => $messages
-
 
2333
                ]);
-
 
2334
            }
-
 
2335
            
-
 
2336
            $userHobbyAndInterestMapper = UserHobbyAndInterestMapper::getInstance($this->adapter);
-
 
2337
            
-
 
2338
        }
-
 
2339
        
-
 
2340
        
2029
        $data = [
2341
        $data = [
2030
            'success' => false,
2342
            'success' => false,
Línea 2031... Línea 2343...
2031
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
2343
            'data' => 'ERROR_METHOD_NOT_ALLOWED'