Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 744 Rev 770
Línea 96... Línea 96...
96
    
96
    
97
    
97
    
98
 
-
 
99
    public function viewAction()
98
 
100
    {
-
 
101
        
-
 
102
        $request = $this->getRequest();
-
 
103
        if($request->isGet()) {
-
 
104
            $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
105
            $currentUser = $currentUserPlugin->getUser();
-
 
106
            
-
 
107
            $request = $this->getRequest();
-
 
108
            $id = $this->params()->fromRoute('id');
-
 
109
                
-
 
110
                if(!$id) {
-
 
111
                    return new JsonModel([
-
 
112
                        'success' => false,
-
 
113
                        'data' => 'ERROR_INVALID_PARAMETER'
-
 
114
                    ]);
-
 
115
 
-
 
116
                }
-
 
117
                
-
 
118
                $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
119
                $company = $companyMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
-
 
120
                
-
 
121
 
-
 
122
                if(!$company) {
-
 
123
                    
-
 
124
                    return new JsonModel([
-
 
125
                        'success' => false,
-
 
126
                        'data' => 'ERROR_COMPANY_NOT_FOUND'
-
 
127
                    ]);
-
 
128
 
-
 
129
                }
-
 
130
                
-
 
131
                if($company->status != Company::STATUS_ACTIVE) {
-
 
132
                    return new JsonModel([
-
 
133
                        'success' => false,
-
 
134
                        'data' => 'ERROR_COMPANY_IS_NOT_ACTIVE'
-
 
135
                    ]); 
-
 
136
                }
-
 
137
                
-
 
138
 
-
 
139
                $companyLocationMapper = CompanyLocationMapper::getInstance($this->adapter);
-
 
140
                $records = $companyLocationMapper->fetchAllLocationByCompanyId($company->id);
-
 
141
                
-
 
142
                $locations = [];
-
 
143
                foreach($records as $record)
-
 
144
                {
-
 
145
                    $location =  [
-
 
146
                        'formatted_address'  => $record['formatted_address'],
-
 
147
                        'country' => $record['country'],
-
 
148
                        'is_main' => $record['is_main'],
-
 
149
                    ];
-
 
150
                    
-
 
151
                    array_push($locations, $location);
-
 
152
                }
-
 
153
                
-
 
154
                $industryMapper = IndustryMapper::getInstance($this->adapter);
-
 
155
                $industry = $industryMapper->fetchOne($company->industry_id);
-
 
156
                
-
 
157
                $companySizeMapper = CompanySizeMapper::getInstance($this->adapter);
-
 
158
                $companySize = $companySizeMapper->fetchOne($company->company_size_id);
-
 
159
                
-
 
160
                $companyFollowerMapper = CompanyFollowerMapper::getInstance($this->adapter);
-
 
161
                $total_followers = $companyFollowerMapper->getCountFollowers($company->id);
-
 
162
                $follower = $companyFollowerMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
-
 
163
                
-
 
164
                $link_inmail = '';
-
 
165
                
-
 
166
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
-
 
167
                $companyUserOwner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
-
 
168
                if($companyUserOwner) {
-
 
169
                    $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
-
 
170
                    $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($currentUser->id, $companyUserOwner->user_id);
-
 
171
                    if(!$userBlocked) {
-
 
172
                        $userMapper = UserMapper::getInstance($this->adapter);
-
 
173
                        $userOwner = $userMapper->fetchOne($companyUserOwner->user_id);
-
 
174
                        
-
 
175
                        $link_inmail = $this->url()->fromRoute('inmail/user',['id' => $userOwner->uuid]);
-
 
176
                    }
-
 
177
                } else {
-
 
178
                    $userBlocked = false;
-
 
179
                }
-
 
180
                
-
 
181
                
-
 
182
                $storage = Storage::getInstance($this->config, $this->adapter);
-
 
183
                
-
 
184
                $data = [
-
 
185
                    'link_follow' => '',
-
 
186
                    'link_unfollow' => '',
-
 
187
                    'link_request' => '',
-
 
188
                    'link_accept' => '',
-
 
189
                    'link_cancel' => '',
-
 
190
                    'link_reject' =>'',
-
 
191
                    'link_leave' => '',
-
 
192
                    'link_timeline' => $this->url()->fromRoute('feed/timeline', ['id' => $company->uuid, 'type' => 'company']),
-
 
193
                    'total_followers'       => $total_followers,
-
 
194
                    'company_name'          => $company->name,
-
 
195
                    'company_uuid'          => $company->uuid,
-
 
196
                    'name'                  => trim($company->name),
-
 
197
                    'image'                 => $storage->getCompanyImage($company),
-
 
198
                    'cover'                 => $storage->getCompanyCover($company),
-
 
199
                    'overview'              => $company->description,
-
 
200
                    'website'               => $company->website,
-
 
201
                    'foundation_year'       => $company->foundation_year,
-
 
202
                    'facebook'              => $company->facebook,
-
 
203
                    'instagram'             => $company->instagram,
-
 
204
                    'twitter'               => $company->twitter,
-
 
205
                    'locations'             => $locations,
-
 
206
                    'industry'              => $industry->name,
-
 
207
                    'company_size'          => $companySize->name . ' (' . $companySize->minimum_no_of_employee . '-'  . $companySize->maximum_no_of_employee . ')',
-
 
208
                    'is_follower'           => $follower ? 1 : 0,
-
 
209
                    'link_inmail'           => $link_inmail,
-
 
Línea -... Línea 99...
-
 
99
    public function viewAction()
-
 
100
    {
-
 
101
        $request = $this->getRequest();
-
 
102
 
-
 
103
        if(!$request->isGet()) {
-
 
104
            return new JsonModel([
-
 
105
                'success' => false,
-
 
106
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
Línea -... Línea 107...
-
 
107
            ]);
-
 
108
        }
-
 
109
        
-
 
110
        $id = $this->params()->fromRoute('id');
-
 
111
 
-
 
112
        if(!$id) {
-
 
113
            return new JsonModel([
-
 
114
                'success' => false,
-
 
115
                'data' => 'ERROR_INVALID_PARAMETER'
-
 
116
            ]);
-
 
117
        }
-
 
118
        
-
 
119
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
120
        $currentUser = $currentUserPlugin->getUser();
-
 
121
        
-
 
122
        $companyMapper = CompanyMapper::getInstance($this->adapter);
-
 
123
        $company = $companyMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
-
 
124
        
-
 
125
        if(!$company) {  
-
 
126
            return new JsonModel([
-
 
127
                'success' => false,
-
 
128
                'data' => 'ERROR_COMPANY_NOT_FOUND'
-
 
129
            ]);
-
 
130
        }
-
 
131
        
-
 
132
        if($company->status != Company::STATUS_ACTIVE) {
-
 
133
            return new JsonModel([
-
 
134
                'success' => false,
-
 
135
                'data' => 'ERROR_COMPANY_IS_NOT_ACTIVE'
-
 
136
            ]); 
-
 
137
        }
-
 
138
        
-
 
139
        $companyLocationMapper = CompanyLocationMapper::getInstance($this->adapter);
-
 
140
        $records = $companyLocationMapper->fetchAllLocationByCompanyId($company->id);
-
 
141
        
-
 
142
        $locations = [];
-
 
143
        foreach($records as $record)
-
 
144
        {
-
 
145
            $location =  [
-
 
146
                'formatted_address'  => $record['formatted_address'],
-
 
147
                'country' => $record['country'],
-
 
148
                'is_main' => $record['is_main'],
-
 
149
            ];
-
 
150
            
-
 
151
            array_push($locations, $location);
-
 
152
        }
-
 
153
        
-
 
154
        $industryMapper = IndustryMapper::getInstance($this->adapter);
-
 
155
        $industry = $industryMapper->fetchOne($company->industry_id);
-
 
156
        
-
 
157
        $companySizeMapper = CompanySizeMapper::getInstance($this->adapter);
-
 
158
        $companySize = $companySizeMapper->fetchOne($company->company_size_id);
-
 
159
        
-
 
160
        $companyFollowerMapper = CompanyFollowerMapper::getInstance($this->adapter);
-
 
161
        $total_followers = $companyFollowerMapper->getCountFollowers($company->id);
-
 
162
        $follower = $companyFollowerMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
-
 
163
        
-
 
164
        $link_inmail = '';
-
 
165
        
-
 
166
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
-
 
167
        $companyUserOwner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
-
 
168
        if($companyUserOwner) {
Línea 210... Línea -...
210
                    'show_contact'          => $userBlocked ? 0 : 1,
-
 
211
                ];
-
 
212
                
-
 
213
 
-
 
214
 
-
 
215
                
-
 
216
                
-
 
217
                $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
-
 
218
                if($companyUser) {
169
            $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
219
                    if($companyUser->status == CompanyUser::STATUS_ADMIN_WILL_ADD) {
-
 
220
                        $data['link_accept'] = $this->url()->fromRoute('company/accept', ['id' => $company->uuid]);
-
 
221
                        $data['link_reject'] = $this->url()->fromRoute('company/reject', ['id' => $company->uuid]);
-
 
222
                    }
-
 
223
                    if($companyUser->status == CompanyUser::STATUS_SENT) {
-
 
224
                        $data['link_cancel'] = $this->url()->fromRoute('company/cancel', ['id' => $company->uuid]);
-
 
225
                    }
170
            $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($currentUser->id, $companyUserOwner->user_id);
226
                    if($companyUser->owner == CompanyUser::OWNER_NO && $companyUser->creator == CompanyUser::CREATOR_NO && $companyUser->status == CompanyUser::STATUS_ACCEPTED) {
-
 
227
                        $data['link_leave'] = $this->url()->fromRoute('company/leave', ['id' => $company->uuid]);;
-
 
228
                    }
171
            if(!$userBlocked) {
229
                    if($companyUser->status == CompanyUser::STATUS_CANCELLED) {
-
 
230
                        $data['link_request'] = $this->url()->fromRoute('company/request', ['id' => $company->uuid]);;
-
 
231
                    }
-
 
232
                    
-
 
233
                    
-
 
234
                } else {
-
 
235
                    $data['link_request'] = $this->url()->fromRoute('company/request', ['id' => $company->uuid]);;
-
 
236
                }
-
 
237
                
-
 
238
                $companyFollowerMapper = CompanyFollowerMapper::getInstance($this->adapter);
172
                $userMapper = UserMapper::getInstance($this->adapter);
239
                $data['total_followers'] = $companyFollowerMapper->getCountFollowers($company->id);
-
 
240
                
-
 
241
                $follower = $companyFollowerMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
173
                $userOwner = $userMapper->fetchOne($companyUserOwner->user_id);
242
                if($follower) {
174
                
243
                    $data['link_unfollow'] = $this->url()->fromRoute('company/unfollow', ['id' => $company->uuid]);;
-
 
244
                } else {
-
 
245
                    $data['link_follow'] = $this->url()->fromRoute('company/follow', ['id' => $company->uuid]);
175
                $link_inmail = $this->url()->fromRoute('inmail/user',['id' => $userOwner->uuid]);
246
                    
-
 
247
                }
-
 
248
                
-
 
249
                $companyUserOwner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
-
 
250
                if($companyUserOwner) {
-
 
251
                    $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
-
 
252
                    $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($currentUser->id, $companyUserOwner->user_id);
-
 
253
                    if(!$userBlocked) {
-
 
254
                        $data['link_contact'] = $this->url()->fromRoute('inmail/user', ['id' => $companyUserOwner->uuid]);;
-
 
255
                    }
-
 
Línea -... Línea 176...
-
 
176
            }
-
 
177
        } else {
-
 
178
            $userBlocked = false;
-
 
179
        }
-
 
180
            
-
 
181
        $storage = Storage::getInstance($this->config, $this->adapter);
-
 
182
        
-
 
183
        $data = [
-
 
184
            'link_follow' => '',
-
 
185
            'link_unfollow' => '',
-
 
186
            'link_request' => '',
-
 
187
            'link_accept' => '',
-
 
188
            'link_cancel' => '',
-
 
189
            'link_reject' =>'',
-
 
190
            'link_leave' => '',
-
 
191
            'link_timeline' => $this->url()->fromRoute('feed/timeline', ['id' => $company->uuid, 'type' => 'company']),
-
 
192
            'total_followers'       => $total_followers,
-
 
193
            'company_name'          => $company->name,
-
 
194
            'company_uuid'          => $company->uuid,
-
 
195
            'name'                  => trim($company->name),
-
 
196
            'image'                 => $storage->getCompanyImage($company),
-
 
197
            'cover'                 => $storage->getCompanyCover($company),
-
 
198
            'overview'              => $company->description,
-
 
199
            'website'               => $company->website,
-
 
200
            'foundation_year'       => $company->foundation_year,
-
 
201
            'facebook'              => $company->facebook,
-
 
202
            'instagram'             => $company->instagram,
-
 
203
            'twitter'               => $company->twitter,
-
 
204
            'locations'             => $locations,
-
 
205
            'industry'              => $industry->name,
-
 
206
            'company_size'          => $companySize->name . ' (' . $companySize->minimum_no_of_employee . '-'  . $companySize->maximum_no_of_employee . ')',
-
 
207
            'is_follower'           => $follower ? 1 : 0,
-
 
208
            'link_inmail'           => $link_inmail,
-
 
209
            'show_contact'          => $userBlocked ? 0 : 1,
-
 
210
        ];
-
 
211
        
-
 
212
        $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
-
 
213
        if($companyUser) {
-
 
214
            if($companyUser->status == CompanyUser::STATUS_ADMIN_WILL_ADD) {
-
 
215
                $data['link_accept'] = $this->url()->fromRoute('company/accept', ['id' => $company->uuid]);
-
 
216
                $data['link_reject'] = $this->url()->fromRoute('company/reject', ['id' => $company->uuid]);
-
 
217
            }
-
 
218
            if($companyUser->status == CompanyUser::STATUS_SENT) {
-
 
219
                $data['link_cancel'] = $this->url()->fromRoute('company/cancel', ['id' => $company->uuid]);
Línea 256... Línea 220...
256
                } 
220
            }
257
                
-
 
258
                return new JsonModel([
-
 
259
                    'success'   => true,
221
            if($companyUser->owner == CompanyUser::OWNER_NO && $companyUser->creator == CompanyUser::CREATOR_NO && $companyUser->status == CompanyUser::STATUS_ACCEPTED) {
260
                    'data'      => $data
-
 
261
                ]); 
222
                $data['link_leave'] = $this->url()->fromRoute('company/leave', ['id' => $company->uuid]);;
-
 
223
            }
-
 
224
            if($companyUser->status == CompanyUser::STATUS_CANCELLED) {
-
 
225
                $data['link_request'] = $this->url()->fromRoute('company/request', ['id' => $company->uuid]);;
-
 
226
            }
-
 
227
            
-
 
228
            
-
 
229
        } else {
-
 
230
            $data['link_request'] = $this->url()->fromRoute('company/request', ['id' => $company->uuid]);;
-
 
231
        }
-
 
232
        
-
 
233
        $companyFollowerMapper = CompanyFollowerMapper::getInstance($this->adapter);
-
 
234
        $data['total_followers'] = $companyFollowerMapper->getCountFollowers($company->id);
-
 
235
        
-
 
236
        $follower = $companyFollowerMapper->fetchOneByCompanyIdAndUserId($company->id, $currentUser->id);
-
 
237
        if($follower) {
-
 
238
            $data['link_unfollow'] = $this->url()->fromRoute('company/unfollow', ['id' => $company->uuid]);;
-
 
239
        } else {
-
 
240
            $data['link_follow'] = $this->url()->fromRoute('company/follow', ['id' => $company->uuid]);
-
 
241
            
-
 
242
        }
-
 
243
        
-
 
244
        $companyUserOwner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
-
 
245
        if($companyUserOwner) {
-
 
246
            $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
-
 
247
            $userBlocked = $userBlockedMapper->fetchOneByUserIdAndBlockedId($currentUser->id, $companyUserOwner->user_id);
262
        
248
            if(!$userBlocked) {
Línea 263... Línea 249...
263
            
249
                $data['link_contact'] = $this->url()->fromRoute('inmail/user', ['id' => $companyUserOwner->uuid]);;
264
            
250
            }
265
        } else {
251
        }