Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11332 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11332 Rev 11336
Línea 79... Línea 79...
79
        try{
79
        try{
80
            $request = $this->getRequest();
80
            $request = $this->getRequest();
Línea 81... Línea 81...
81
            
81
            
82
 
82
 
83
            if($request->isGet()) {
83
            if($request->isGet()) {
84
                $myt_id =  $this->params()->fromRoute('myt_id');
84
                $myt_id =  $this->params()->fromRoute('id');
85
                $headers  = $request->getHeaders();
85
                $headers  = $request->getHeaders();
86
                $isJson = false;
86
                $isJson = false;
Línea 132... Línea 132...
132
                'success' => false,
132
                'success' => false,
133
                'data' => $e
133
                'data' => $e
134
            ]);
134
            ]);
135
        }
135
        }
136
    }
136
    }
-
 
137
 
-
 
138
    public function addAction() { 
-
 
139
        $currentUserPlugin  = $this->plugin('currentUserPlugin');
-
 
140
        $currentCompany     = $currentUserPlugin->getCompany(); 
-
 
141
        $currentUser        = $currentUserPlugin->getUser();
-
 
142
        
-
 
143
        $request    = $this->getRequest();     
-
 
144
        try{
-
 
145
        if($request->isPost()) {
-
 
146
            $form = new  CreateFeedForm($this->adapter);
-
 
147
            $dataPost = $request->getPost()->toArray();
-
 
148
            $categoriesId = $dataPost['category_id'] ?? [];
-
 
149
            $dataPost['category_id'] = null;
-
 
150
            $form->setData($dataPost);
-
 
151
            
-
 
152
            if($form->isValid()) {
-
 
153
               
-
 
154
                $dataPost = (array) $form->getData();
-
 
155
                $hydrator = new ObjectPropertyHydrator();
-
 
156
                $feed = new Feed();
-
 
157
                $hydrator->hydrate($dataPost, $feed);
-
 
158
               
-
 
159
                $feed->user_id = $currentUser->id;
-
 
160
                $feed->company_id = $currentCompany->id;
-
 
161
                $feed->user_id          = $currentUser->id;
-
 
162
                $feed->type             = Feed::TYPE_MYT_QUESTION;
-
 
163
                $feed->posted_or_shared = Feed::POSTED;
-
 
164
                $feed->shared_with      = Feed::SHARE_WITH_PUBLIC;
-
 
165
                $feed->total_comments   = 0;
-
 
166
                $feed->total_shared     = 0;
-
 
167
 
-
 
168
                $feedMapper = FeedMapper::getInstance($this->adapter);
-
 
169
 
-
 
170
                if($feedMapper->insert($feed)) {
-
 
171
                     $feed = $feedMapper->fetchOne($feed->id);
-
 
172
 
-
 
173
                     $category = new FeedTopic();
-
 
174
                     
-
 
175
                    if(!empty($categoriesId)){ 
-
 
176
                       // print_r($dataPost['job_description_id']);
-
 
177
 
-
 
178
                        $categoriesMapper = TopicMapper::getInstance($this->adapter);
-
 
179
                        $feedTopicMapper = FeedTopicMapper::getInstance($this->adapter);
-
 
180
 
-
 
181
                        $ok = true;
-
 
182
 
-
 
183
                        foreach($categoriesId as $category_id) {
-
 
184
                        
-
 
185
                           // echo '$jobDescriptionUuid = ' . $jobDescriptionUuid ; 
-
 
186
 
-
 
187
 
-
 
188
                            $category = $categoriesMapper->fetchOneByUuid($category_id);
-
 
189
                                $record = new FeedTopic();
-
 
190
                                $record->topic_id = $category->id;
-
 
191
                                $record->feed_id = $feed->id;
-
 
192
 
-
 
193
                            
-
 
194
 
-
 
195
                                $result = $feedTopicMapper->insert($record);
-
 
196
                                $ok = $ok && $result;
-
 
197
                            }
-
 
198
                        }
-
 
199
 
-
 
200
                     $feed->myt_id = $feed->id;
-
 
201
                     $feed->related_feed = $feed->id;
-
 
202
                     $feedMapper->update($feed);
-
 
203
                    $this->logger->info('Se agrego la pregunta ' . $feed->title, ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
-
 
204
                    
-
 
205
                    $data = [
-
 
206
                        'success'   => true,
-
 
207
                        'data'   => 'LABEL_RECORD_ADDED'
-
 
208
                    ];
-
 
209
                } else {
-
 
210
                    $data = [
-
 
211
                        'success'   => false,
-
 
212
                        'data'      => $feedMapper->getError()
-
 
213
                    ];
-
 
214
                    
-
 
215
                }
-
 
216
                
-
 
217
                return new JsonModel($data);
-
 
218
                
-
 
219
            } else {
-
 
220
                $messages = [];
-
 
221
                $form_messages = (array) $form->getMessages();
-
 
222
                foreach($form_messages  as $fieldname => $field_messages)
-
 
223
                {
-
 
224
                    
-
 
225
                    $messages[$fieldname] = array_values($field_messages);
-
 
226
                }
-
 
227
                
-
 
228
            }
-
 
229
            
-
 
230
        } else {
-
 
231
            $data = [
-
 
232
                'success' => false,
-
 
233
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
234
            ];
-
 
235
            
-
 
236
            return new JsonModel($data);
-
 
237
        }
-
 
238
        
-
 
239
    } catch (\Throwable $e) {
-
 
240
        $e->getMessage();
-
 
241
        return new JsonModel([
-
 
242
            'success' => false,
-
 
243
            'data' => $e
-
 
244
        ]);
-
 
245
    }
-
 
246
    }
-
 
247
 
Línea 137... Línea 248...
137
   
248
   
138
    
249