Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 351 Rev 383
Línea 39... Línea 39...
39
use LeadersLinked\Form\UserProfile\EducationForm;
39
use LeadersLinked\Form\UserProfile\EducationForm;
40
use LeadersLinked\Model\UserEducation;
40
use LeadersLinked\Model\UserEducation;
41
use LeadersLinked\Mapper\UserEducationMapper;
41
use LeadersLinked\Mapper\UserEducationMapper;
42
use LeadersLinked\Mapper\DegreeMapper;
42
use LeadersLinked\Mapper\DegreeMapper;
43
use LeadersLinked\Form\UserProfile\ExperienceForm;
43
use LeadersLinked\Form\UserProfile\ExperienceForm;
-
 
44
use LeadersLinked\Form\UserProfile\TimeZoneForm;
44
use LeadersLinked\Mapper\AptitudeMapper;
45
use LeadersLinked\Mapper\AptitudeMapper;
45
use LeadersLinked\Mapper\LanguageMapper;
46
use LeadersLinked\Mapper\LanguageMapper;
46
use LeadersLinked\Mapper\UserAptitudeMapper;
47
use LeadersLinked\Mapper\UserAptitudeMapper;
47
use LeadersLinked\Mapper\UserExperienceMapper;
48
use LeadersLinked\Mapper\UserExperienceMapper;
48
use LeadersLinked\Mapper\IndustryMapper;
49
use LeadersLinked\Mapper\IndustryMapper;
Línea 519... Línea 520...
519
                    'facebook'          => $userProfile->facebook,
520
                    'facebook'          => $userProfile->facebook,
520
                    'instagram'         => $userProfile->instagram,
521
                    'instagram'         => $userProfile->instagram,
521
                    'twitter'           => $userProfile->twitter,
522
                    'twitter'           => $userProfile->twitter,
522
                    'formatted_address' => $formattedAddress,
523
                    'formatted_address' => $formattedAddress,
523
                    'country'           => $country,
524
                    'country'           => $country,
-
 
525
                    'timezone'          => $userProfile->timezone,
524
                    'user_skills'       => $userSkills,
526
                    'user_skills'       => $userSkills,
525
                    'user_languages'    => $userLanguages,
527
                    'user_languages'    => $userLanguages,
526
                    'user_educations'   => $userEducations,
528
                    'user_educations'   => $userEducations,
527
                    'user_experiences'  => $userExperiences,
529
                    'user_experiences'  => $userExperiences,
528
                    'user_aptitudes'                => $userAptitudes,
530
                    'user_aptitudes'                => $userAptitudes,
Línea 539... Línea 541...
539
                    'link_education_add' => $this->url()->fromRoute('profile/my-profiles/education', ['id' => $userProfile->uuid, 'operation' => 'add']),
541
                    'link_education_add' => $this->url()->fromRoute('profile/my-profiles/education', ['id' => $userProfile->uuid, 'operation' => 'add']),
540
                    'link_language' => $this->url()->fromRoute('profile/my-profiles/language', ['id' => $userProfile->uuid]),
542
                    'link_language' => $this->url()->fromRoute('profile/my-profiles/language', ['id' => $userProfile->uuid]),
541
                    'link_location' => $this->url()->fromRoute('profile/my-profiles/location', ['id' => $userProfile->uuid]),
543
                    'link_location' => $this->url()->fromRoute('profile/my-profiles/location', ['id' => $userProfile->uuid]),
542
                    'link_skill' => $this->url()->fromRoute('profile/my-profiles/skill', ['id' => $userProfile->uuid] ),
544
                    'link_skill' => $this->url()->fromRoute('profile/my-profiles/skill', ['id' => $userProfile->uuid] ),
543
                    'link_social_network' => $this->url()->fromRoute('profile/my-profiles/social-network', ['id' => $userProfile->uuid]),
545
                    'link_social_network' => $this->url()->fromRoute('profile/my-profiles/social-network', ['id' => $userProfile->uuid]),
-
 
546
                    'link_timezone' => $this->url()->fromRoute('profile/my-profiles/timezone', ['id' => $userProfile->uuid]),
544
                    'link_aptitude' => $this->url()->fromRoute('profile/my-profiles/aptitude', ['id' => $userProfile->uuid] ),
547
                    'link_aptitude' => $this->url()->fromRoute('profile/my-profiles/aptitude', ['id' => $userProfile->uuid] ),
545
                    'link_hobby_and_interest' => $this->url()->fromRoute('profile/my-profiles/hobby-and-interest', ['id' => $userProfile->uuid]),
548
                    'link_hobby_and_interest' => $this->url()->fromRoute('profile/my-profiles/hobby-and-interest', ['id' => $userProfile->uuid]),
Línea 546... Línea 549...
546
 
549
 
Línea 1069... Línea 1072...
1069
                    ]
1072
                    ]
1070
                ]);
1073
                ]);
1071
            } else {
1074
            } else {
1072
                $messages = [];
1075
                $messages = [];
1073
                $form_messages = (array) $form->getMessages();
1076
                $form_messages = (array) $form->getMessages();
-
 
1077
                foreach ($form_messages  as $fieldname => $field_messages) {
-
 
1078
                    $messages[$fieldname] = array_values($field_messages);
-
 
1079
                }
-
 
1080
 
-
 
1081
                return new JsonModel([
-
 
1082
                    'success'   => false,
-
 
1083
                    'data'   => $messages
-
 
1084
                ]);
-
 
1085
            }
-
 
1086
        }
-
 
1087
 
-
 
1088
 
-
 
1089
        $data = [
-
 
1090
            'success' => false,
-
 
1091
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
1092
        ];
-
 
1093
 
-
 
1094
 
-
 
1095
        return new JsonModel($data);
-
 
1096
    }
-
 
1097
 
-
 
1098
 
-
 
1099
    public function timezoneAction()
-
 
1100
    {
-
 
1101
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1102
        $currentUser = $currentUserPlugin->getUser();
-
 
1103
 
-
 
1104
        $user_profile_id = $this->params()->fromRoute('id');
-
 
1105
        $userProfileMapper = UserProfileMapper::getInstance($this->adapter);
-
 
1106
 
-
 
1107
        $userProfile = $userProfileMapper->fetchOneByUuid($user_profile_id);
-
 
1108
        if (!$userProfile) {
-
 
1109
            $response = [
-
 
1110
                'success' => false,
-
 
1111
                'data' => 'ERROR_INVALID_PARAMETER'
-
 
1112
            ];
-
 
1113
 
-
 
1114
            return new JsonModel($response);
-
 
1115
        }
-
 
1116
 
-
 
1117
 
-
 
1118
        if ($currentUser->id != $userProfile->user_id) {
-
 
1119
            $response = [
-
 
1120
                'success' => false,
-
 
1121
                'data' => 'ERROR_UNAUTHORIZED'
-
 
1122
            ];
-
 
1123
 
-
 
1124
            return new JsonModel($response);
-
 
1125
        }
-
 
1126
 
-
 
1127
 
-
 
1128
 
-
 
1129
        $request = $this->getRequest();
-
 
1130
        if ($request->isGet()) {
-
 
1131
            $data = [
-
 
1132
                'success' => true,
-
 
1133
                'data' => [
-
 
1134
                    'timezone' => $userProfile->timezone,
-
 
1135
                ]
-
 
1136
            ];
-
 
1137
 
-
 
1138
            return new JsonModel($data);
-
 
1139
        } else if ($request->isPost()) {
-
 
1140
 
-
 
1141
            $form = new TimeZoneForm();
-
 
1142
            $dataPost = $request->getPost()->toArray();
-
 
1143
 
-
 
1144
            $form->setData($dataPost);
-
 
1145
 
-
 
1146
            if ($form->isValid()) {
-
 
1147
                $this->logger->info('Se actualizo del timezone del perfil ' . ($userProfile->public == UserProfile::PUBLIC_YES ? 'público' : $userProfile->name), ['user_id' => $userProfile->user_id, 'ip' => Functions::getUserIP()]);
-
 
1148
 
-
 
1149
                $dataPost = (array) $form->getData();
-
 
1150
 
-
 
1151
                $hydrator = new ObjectPropertyHydrator();
-
 
1152
                $hydrator->hydrate($dataPost, $userProfile);
-
 
1153
 
-
 
1154
                $userProfileMapper->updateTimeZone($userProfile);
-
 
1155
                return new JsonModel([
-
 
1156
                    'success'   => true,
-
 
1157
                    'data' => [
-
 
1158
                        'timezone' => $userProfile->timezone,
-
 
1159
                    ]
-
 
1160
                ]);
-
 
1161
            } else {
-
 
1162
                $messages = [];
-
 
1163
                $form_messages = (array) $form->getMessages();
1074
                foreach ($form_messages  as $fieldname => $field_messages) {
1164
                foreach ($form_messages  as $fieldname => $field_messages) {
1075
                    $messages[$fieldname] = array_values($field_messages);
1165
                    $messages[$fieldname] = array_values($field_messages);
1076
                }
1166
                }
Línea 1077... Línea 1167...
1077
 
1167