Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 16769 Rev 17002
Línea 14... Línea 14...
14
use Laminas\Log\LoggerInterface;
14
use Laminas\Log\LoggerInterface;
15
use Laminas\View\Model\ViewModel;
15
use Laminas\View\Model\ViewModel;
16
use Laminas\View\Model\JsonModel;
16
use Laminas\View\Model\JsonModel;
Línea 17... Línea 17...
17
 
17
 
18
use LeadersLinked\Library\Functions;
-
 
19
use LeadersLinked\Mapper\QueryMapper;
-
 
20
use LeadersLinked\Mapper\CompanyMapper;
18
use LeadersLinked\Library\Functions;
21
use LeadersLinked\Mapper\CompanyMicrolearningQuizMapper;
19
use LeadersLinked\Mapper\MicrolearningQuizMapper;
22
use LeadersLinked\Form\QuestionCreateOrEditForm;
20
use LeadersLinked\Form\QuestionCreateOrEditForm;
23
use Laminas\Hydrator\ObjectPropertyHydrator;
21
use Laminas\Hydrator\ObjectPropertyHydrator;
24
use LeadersLinked\Model\CompanyMicrolearningQuestion;
22
use LeadersLinked\Model\MicrolearningQuestion;
25
use LeadersLinked\Mapper\CompanyMicrolearningQuestionMapper;
23
use LeadersLinked\Mapper\MicrolearningQuestionMapper;
Línea 26... Línea 24...
26
use LeadersLinked\Model\CompanyMicroLearningQuiz;
24
use LeadersLinked\Model\MicrolearningQuiz;
27
 
25
 
28
class MicrolearningQuestionController extends AbstractActionController
26
class MicrolearningQuestionController extends AbstractActionController
29
{
27
{
Línea 86... Línea 84...
86
        $quiz_id            = $this->params()->fromRoute('quiz_id');
84
        $quiz_id            = $this->params()->fromRoute('quiz_id');
Línea 87... Línea 85...
87
 
85
 
Línea 88... Línea 86...
88
        $flashMessenger     = $this->plugin('FlashMessenger');
86
        $flashMessenger     = $this->plugin('FlashMessenger');
89
 
87
 
90
        
88
        
91
        $quizMapper = CompanyMicrolearningQuizMapper::getInstance($this->adapter);
89
        $quizMapper = MicrolearningQuizMapper::getInstance($this->adapter);
92
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
90
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
93
        if(!$quiz) {
91
        if(!$quiz) {
Línea 145... Línea 143...
145
                    $order_direction = 'ASC';
143
                    $order_direction = 'ASC';
146
                }
144
                }
Línea 147... Línea 145...
147
 
145
 
148
                
146
                
Línea 149... Línea 147...
149
                
147
                
150
                $companyMicrolearningQuestionMapper = CompanyMicrolearningQuestionMapper::getInstance($this->adapter);
148
                $microlearningQuestionMapper = MicrolearningQuestionMapper::getInstance($this->adapter);
151
                $paginator = $companyMicrolearningQuestionMapper->fetchAllDataTableByCompanyIdAndQuizId($quiz->company_id, $quiz->id, $search, $page, $records_x_page, $order_field, $order_direction);
149
                $paginator = $microlearningQuestionMapper->fetchAllDataTableByCompanyIdAndQuizId($quiz->company_id, $quiz->id, $search, $page, $records_x_page, $order_field, $order_direction);
Línea 172... Línea 170...
172
                        ],
170
                        ],
173
                    ];
171
                    ];
Línea 174... Línea 172...
174
                    
172
                    
175
                    switch($record->check)
173
                    switch($record->check)
176
                    {
174
                    {
177
                        case CompanyMicrolearningQuestion::CHECK_OK :
175
                        case MicrolearningQuestion::CHECK_OK :
178
                            $item['details']['check'] = 'LABEL_OK';
176
                            $item['details']['check'] = 'LABEL_OK';
Línea 179... Línea 177...
179
                            break;
177
                            break;
180
                            
178
                            
181
                        case CompanyMicrolearningQuestion::CHECK_WRONG :
179
                        case MicrolearningQuestion::CHECK_WRONG :
Línea 182... Línea 180...
182
                            $item['details']['check'] = 'LABEL_WRONG';
180
                            $item['details']['check'] = 'LABEL_WRONG';
183
                            break;
181
                            break;
184
                            
182
                            
Línea 185... Línea 183...
185
                        case CompanyMicrolearningQuestion::CHECK_PENDING :
183
                        case MicrolearningQuestion::CHECK_PENDING :
186
                            $item['details']['check'] = 'LABEL_PENDING';
184
                            $item['details']['check'] = 'LABEL_PENDING';
Línea 194... Línea 192...
194
 
192
 
195
                    
193
                    
196
                    $item['actions']['link_answer'] = '';
194
                    $item['actions']['link_answer'] = '';
197
                    switch($record->type)
195
                    switch($record->type)
198
                    {
196
                    {
199
                        case CompanyMicrolearningQuestion::TYPE_MULTI_LINE : 
197
                        case MicrolearningQuestion::TYPE_MULTI_LINE : 
Línea 200... Línea 198...
200
                            $item['details']['type'] = 'LABEL_MULTI_LINE';
198
                            $item['details']['type'] = 'LABEL_MULTI_LINE';
201
                            break;
199
                            break;
202
                            
200
                            
Línea 203... Línea 201...
203
                        case CompanyMicrolearningQuestion::TYPE_SINGLE_LINE :
201
                        case MicrolearningQuestion::TYPE_SINGLE_LINE :
204
                            $item['details']['type'] = 'LABEL_SINGLE_LINE';
202
                            $item['details']['type'] = 'LABEL_SINGLE_LINE';
205
                            break;
203
                            break;
206
                            
204
                            
Línea 207... Línea 205...
207
                        case CompanyMicrolearningQuestion::TYPE_SINGLE_SELECTION :
205
                        case MicrolearningQuestion::TYPE_SINGLE_SELECTION :
208
                            $item['details']['type'] = 'LABEL_SINGLE_SELECTION';
206
                            $item['details']['type'] = 'LABEL_SINGLE_SELECTION';
209
                            $item['actions']['link_answer'] = $allowAnswers ? $this->url()->fromRoute('microlearning/content/quizzes/questions/answers', $params) : '';
207
                            $item['actions']['link_answer'] = $allowAnswers ? $this->url()->fromRoute('microlearning/content/quizzes/questions/answers', $params) : '';
210
                            break;
208
                            break;
Línea 211... Línea 209...
211
                            
209
                            
212
                        case CompanyMicrolearningQuestion::TYPE_MULTIPLE_SELECTION;
210
                        case MicrolearningQuestion::TYPE_MULTIPLE_SELECTION;
213
                            $item['details']['type'] = 'LABEL_MULTIPLE_SELECTION';
211
                            $item['details']['type'] = 'LABEL_MULTIPLE_SELECTION';
Línea 214... Línea 212...
214
                            $item['actions']['link_answer'] = $allowAnswers ? $this->url()->fromRoute('microlearning/content/quizzes/questions/answers', $params) : '';
212
                            $item['actions']['link_answer'] = $allowAnswers ? $this->url()->fromRoute('microlearning/content/quizzes/questions/answers', $params) : '';
215
                            break;
213
                            break;
216
                            
214
                            
Línea 217... Línea 215...
217
                        case CompanyMicrolearningQuestion::TYPE_RANGE_1_5;
215
                        case MicrolearningQuestion::TYPE_RANGE_1_5;
218
                            $item['details']['type'] = 'LABEL_RANGE_1_5';
216
                            $item['details']['type'] = 'LABEL_RANGE_1_5';
219
                            break;
217
                            break;
Línea 220... Línea 218...
220
                            
218
                            
221
                        case CompanyMicrolearningQuestion::TYPE_RANGE_1_6;
219
                        case MicrolearningQuestion::TYPE_RANGE_1_6;
222
                            $item['details']['type'] = 'LABEL_RANGE_1_6';
220
                            $item['details']['type'] = 'LABEL_RANGE_1_6';
223
                            break;
221
                            break;
Línea 224... Línea 222...
224
                        
222
                        
Línea 291... Línea 289...
291
        $currentUser        = $currentUserPlugin->getUser();
289
        $currentUser        = $currentUserPlugin->getUser();
292
        $currentCompany     = $currentUserPlugin->getCompany();
290
        $currentCompany     = $currentUserPlugin->getCompany();
293
        $quiz_id            = $this->params()->fromRoute('quiz_id');
291
        $quiz_id            = $this->params()->fromRoute('quiz_id');
Línea 294... Línea 292...
294
 
292
 
295
        
293
        
296
        $quizMapper = CompanyMicrolearningQuizMapper::getInstance($this->adapter);
294
        $quizMapper = MicrolearningQuizMapper::getInstance($this->adapter);
297
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
295
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
298
        if(!$quiz) {
296
        if(!$quiz) {
299
            return new JsonModel([
297
            return new JsonModel([
Línea 315... Línea 313...
315
            
313
            
316
            if($quizCreateOrEdit->isValid()) {
314
            if($quizCreateOrEdit->isValid()) {
Línea 317... Línea 315...
317
                $dataPost = (array) $quizCreateOrEdit->getData();
315
                $dataPost = (array) $quizCreateOrEdit->getData();
318
                
316
                
319
                $hydrator = new ObjectPropertyHydrator();
317
                $hydrator = new ObjectPropertyHydrator();
Línea 320... Línea 318...
320
                $question = new CompanyMicrolearningQuestion();
318
                $question = new MicrolearningQuestion();
321
                $hydrator->hydrate($dataPost, $question);
319
                $hydrator->hydrate($dataPost, $question);
Línea 322... Línea 320...
322
                
320
                
323
                $question->company_id = $quiz->company_id;
321
                $question->company_id = $quiz->company_id;
Línea 324... Línea 322...
324
                $question->quiz_id = $quiz->id;
322
                $question->quiz_id = $quiz->id;
325
 
323
 
Línea 326... Línea 324...
326
                
324
                
Línea 327... Línea 325...
327
                $questionMapper = CompanyMicrolearningQuestionMapper::getInstance($this->adapter);
325
                $questionMapper = MicrolearningQuestionMapper::getInstance($this->adapter);
Línea 386... Línea 384...
386
        $currentCompany     = $currentUserPlugin->getCompany();
384
        $currentCompany     = $currentUserPlugin->getCompany();
387
        $quiz_id            = $this->params()->fromRoute('quiz_id');
385
        $quiz_id            = $this->params()->fromRoute('quiz_id');
388
        $question_id        = $this->params()->fromRoute('question_id');
386
        $question_id        = $this->params()->fromRoute('question_id');
Línea 389... Línea 387...
389
        
387
        
390
        
388
        
391
        $quizMapper = CompanyMicrolearningQuizMapper::getInstance($this->adapter);
389
        $quizMapper = MicrolearningQuizMapper::getInstance($this->adapter);
392
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
390
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
393
        if(!$quiz) {
391
        if(!$quiz) {
394
            return new JsonModel([
392
            return new JsonModel([
Línea 403... Línea 401...
403
                'data'   => 'ERROR_UNAUTHORIZED'
401
                'data'   => 'ERROR_UNAUTHORIZED'
404
            ]);
402
            ]);
405
        }
403
        }
Línea 406... Línea 404...
406
        
404
        
407
        
405
        
408
        $questionMapper = CompanyMicrolearningQuestionMapper::getInstance($this->adapter);
406
        $questionMapper = MicrolearningQuestionMapper::getInstance($this->adapter);
409
        $question = $questionMapper->fetchOneByUuid($question_id);
407
        $question = $questionMapper->fetchOneByUuid($question_id);
410
        if(!$question) {
408
        if(!$question) {
411
            return new JsonModel([
409
            return new JsonModel([
Línea 424... Línea 422...
424
        
422
        
425
        if($request->isPost()) {
423
        if($request->isPost()) {
426
            $result = $questionMapper->delete($question);
424
            $result = $questionMapper->delete($question);
Línea 427... Línea 425...
427
            if($result) {
425
            if($result) {
428
                
426
                
Línea 429... Línea 427...
429
                $quiz->check = CompanyMicroLearningQuiz::CHECK_PENDING;
427
                $quiz->check = MicroLearningQuiz::CHECK_PENDING;
Línea 467... Línea 465...
467
        $currentCompany     = $currentUserPlugin->getCompany();
465
        $currentCompany     = $currentUserPlugin->getCompany();
468
        $quiz_id            = $this->params()->fromRoute('quiz_id');
466
        $quiz_id            = $this->params()->fromRoute('quiz_id');
469
        $question_id        = $this->params()->fromRoute('question_id');
467
        $question_id        = $this->params()->fromRoute('question_id');
Línea 470... Línea 468...
470
 
468
 
471
        
469
        
472
        $quizMapper = CompanyMicrolearningQuizMapper::getInstance($this->adapter);
470
        $quizMapper = MicrolearningQuizMapper::getInstance($this->adapter);
473
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
471
        $quiz = $quizMapper->fetchOneByUuid($quiz_id);
474
        if(!$quiz) {
472
        if(!$quiz) {
475
            return new JsonModel([
473
            return new JsonModel([
Línea 483... Línea 481...
483
                'success'   => false,
481
                'success'   => false,
484
                'data'   => 'ERROR_UNAUTHORIZED'
482
                'data'   => 'ERROR_UNAUTHORIZED'
485
            ]);
483
            ]);
486
        }
484
        }
Línea 487... Línea 485...
487
        
485
        
488
        $questionMapper = CompanyMicrolearningQuestionMapper::getInstance($this->adapter);
486
        $questionMapper = MicrolearningQuestionMapper::getInstance($this->adapter);
489
        $question = $questionMapper->fetchOneByUuid($question_id);
487
        $question = $questionMapper->fetchOneByUuid($question_id);
490
        if(!$question) {
488
        if(!$question) {
491
            return new JsonModel([
489
            return new JsonModel([
492
                'success'   => false,
490
                'success'   => false,
Línea 522... Línea 520...
522
                $dataPost = (array) $quizCreateOrEdit->getData();
520
                $dataPost = (array) $quizCreateOrEdit->getData();
Línea 523... Línea 521...
523
                
521
                
524
                $hydrator = new ObjectPropertyHydrator();
522
                $hydrator = new ObjectPropertyHydrator();
Línea 525... Línea 523...
525
                $hydrator->hydrate($dataPost, $question);
523
                $hydrator->hydrate($dataPost, $question);
526
                
524
                
527
                $question->check = CompanyMicrolearningQuestion::CHECK_PENDING;
525
                $question->check = MicrolearningQuestion::CHECK_PENDING;
528
                if($questionMapper->update($question)) {
526
                if($questionMapper->update($question)) {
Línea 529... Línea 527...
529
                    $quiz->check = CompanyMicroLearningQuiz::CHECK_PENDING;
527
                    $quiz->check = MicroLearningQuiz::CHECK_PENDING;
Línea 530... Línea 528...
530
                    $quizMapper->update($quiz);
528
                    $quizMapper->update($quiz);