Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 15389 Rev 15390
Línea 717... Línea 717...
717
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
717
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
718
        ]);
718
        ]);
719
    }
719
    }
Línea 720... Línea 720...
720
    
720
    
721
        
721
        
Línea 722... Línea 722...
722
    public function devicesAction()
722
    public function devicesAndAccessAction()
723
    {
723
    {
Línea 749... Línea 749...
749
                    
749
                    
750
                }
750
                }
Línea 751... Línea 751...
751
            }
751
            }
752
            
-
 
-
 
752
            
-
 
753
            if($isJson) {
Línea 753... Línea 754...
753
            if($isJson) {
754
                $acl = $this->getEvent()->getViewModel()->getVariable('acl');
754
                
755
                $allowDownload = $acl->isAllowed($currentUser->usertype_id, 'microlearning/reports/progress-for-capsule/excel');
755
                
756
                
756
                $company_id = filter_var($this->params()->fromQuery('company_id', ''), FILTER_SANITIZE_STRING);
757
                $company_id = filter_var($this->params()->fromQuery('company_id', ''), FILTER_SANITIZE_STRING);
Línea 850... Línea 851...
850
                    }
851
                    }
851
                }
852
                }
Línea -... Línea 853...
-
 
853
                
-
 
854
                
-
 
855
                
-
 
856
                $paramsDownload = [
-
 
857
                    'company_id' => $company_id,
-
 
858
                    'function_id' => $function_id,
-
 
859
                    'group_id' => $group_id,
-
 
860
                    'institution_id' => $institution_id,
-
 
861
                    'program_id' => $program_id,
-
 
862
                    'partner_id' => $partner_id,
-
 
863
                    'sector_id' =>  $sector_id,
-
 
864
                    'student_type_id' => $student_type_id
852
                
865
                ];
853
                
866
                
854
                
867
                
855
                /*
868
                /*
856
                echo 'company_id 1 =  '. $company_id . PHP_EOL;
869
                echo 'company_id 1 =  '. $company_id . PHP_EOL;
Línea 878... Línea 891...
878
                $selectCapsuleUser->where->nest->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED)->or->nest()
891
                $selectCapsuleUser->where->nest->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED)->or->nest()
879
                ->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD)
892
                ->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD)
880
                ->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
893
                ->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
881
                ->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date )->unnest()->unnest();
894
                ->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date )->unnest()->unnest();
Línea 882... Línea 895...
882
                
895
                
Línea 883... Línea 896...
883
                //echo $select->getSqlString($this->adapter->platform); exit;
896
                //echo $selectCapsuleUser->getSqlString($this->adapter->platform); exit;
884
                
897
                
885
                $select = $queryMapper->getSql()->select();
898
                $select = $queryMapper->getSql()->select();
886
                $select->columns(['id' , 'uuid', 'first_name', 'last_name', 'email']);
899
                $select->columns(['id' , 'uuid', 'first_name', 'last_name', 'email']);
Línea 927... Línea 940...
927
                $select->where->equalTo('u.status', User::STATUS_ACTIVE);
940
                $select->where->equalTo('u.status', User::STATUS_ACTIVE);
928
                $select->order(['u.first_name', 'u.last_name']);
941
                $select->order(['u.first_name', 'u.last_name']);
Línea 929... Línea 942...
929
       
942
       
930
                
943
                
931
                
944
                
932
                $students = [];
945
                $items = [];
933
                $records = $queryMapper->fetchAll($select);
-
 
934
                foreach($records as $record)
-
 
935
                {
-
 
936
                    
-
 
937
                    
-
 
938
                    $record_devices = $deviceMapper->fetchAllByUserId($record['id']);
-
 
939
                    
-
 
940
                    $devices = [];
-
 
941
                    foreach($record_devices as $device)
-
 
942
                    {
-
 
943
                        /*if($device->application_id != Application::LEADERSLINKED) {
-
 
944
                            continue;
-
 
945
                        }*/
-
 
946
                        
-
 
947
                        $dt = \DateTime::createFromFormat('Y-m-d H:i:s', $device->updated_on);
-
 
948
                        
-
 
949
                        array_push($devices, [
-
 
950
                            'brand' => $device->brand,
-
 
951
                            'manufacturer' => $device->manufacturer,
-
 
952
                            'model' => $device->model,
-
 
953
                            'platform' => $device->platform,
-
 
954
                            'version' => $device->version,
-
 
955
                            'token' => $device->token ? 'LABEL_YES' : 'LABEL_NO',
-
 
956
                            'updated_on' => $dt->format('d/m/Y h:i a')
-
 
957
                        ]);
-
 
958
                    }
-
 
959
                    
-
 
960
                    if(empty($devices)) {
-
 
961
                        continue;
-
 
962
                        
-
 
963
                    }
946
                $records = $queryMapper->fetchAll($select);
964
                     
947
                foreach($records as $record)
965
                    
948
                {
966
                    $student = [
949
                    $item = [
967
                        'uuid' => $record['uuid'],
950
                        'uuid' => $record['uuid'],
-
 
951
                        'first_name' => ucwords(strtolower($record['first_name'])),
-
 
952
                        'last_name' => ucwords(strtolower($record['last_name'])),
-
 
953
                        'email' => strtolower($record['email']),
-
 
954
                        'brand' => '',
968
                        'first_name' => ucwords(strtolower($record['first_name'])),
955
                        'manufacturer' => '',
-
 
956
                        'model' => '',
-
 
957
                        'platform' => '',
969
                        'last_name' => ucwords(strtolower($record['last_name'])),
958
                        'version' => '',
Línea -... Línea 959...
-
 
959
                        'token' => 'LABEL_NO',
-
 
960
                        'updated_on' => '',
-
 
961
                    ];
-
 
962
                    
-
 
963
                    $device = $deviceMapper->fetchOneByUserId($record['id']);
-
 
964
                    if($device) {
-
 
965
                        $dt = \DateTime::createFromFormat('Y-m-d H:i:s', $device->updated_on);
-
 
966
                        $updated_on = $dt->format('d/m/Y h:i a');
-
 
967
                        
-
 
968
                        $item['brand'] = $device->brand;
-
 
969
                        $item['manufacturer'] = $device->manufacturer;
-
 
970
                        $item['model'] = $device->model;
-
 
971
                        $item['platform'] = $device->platform;
-
 
972
                        $item['version'] = $device->version;
-
 
973
                        $item['token'] = $device->token ? 'LABEL_YES' : 'LABEL_NO';
970
                        'email' => strtolower($record['email']),
974
                        $item['updated_on'] = $updated_on;
Línea 971... Línea 975...
971
                        'devices' => $devices
975
 
Línea -... Línea 976...
-
 
976
                    }
-
 
977
             
-
 
978
                    array_push($items, $item);
-
 
979
                    
-
 
980
                    
-
 
981
                }
-
 
982
                
-
 
983
                $link_download = '';
-
 
984
                if($allowDownload) {
Línea 972... Línea 985...
972
                    ];
985
 
973
                    
986
                    $link_download = $this->url()->fromRoute('microlearning/reports/devices-and-access/excel', [], ['query' => $paramsDownload ]);
974
                    array_push($students, $student);
987
                }
975
                    
988
                
-
 
989
                
-
 
990
                
Línea 976... Línea 991...
976
                    
991
             
Línea 977... Línea 992...
977
                }
992
                
Línea 993... Línea 1008...
993
                $form = new ExtendUserMicrolearningForm($this->adapter, $currentCompany->id);
1008
                $form = new ExtendUserMicrolearningForm($this->adapter, $currentCompany->id);
Línea 994... Línea 1009...
994
                
1009
                
995
                
1010
                
996
                $this->layout()->setTemplate('layout/layout-backend.phtml');
1011
                $this->layout()->setTemplate('layout/layout-backend.phtml');
997
                $viewModel = new ViewModel();
1012
                $viewModel = new ViewModel();
998
                $viewModel->setTemplate('leaders-linked/microlearning-reports/devices.phtml');
1013
                $viewModel->setTemplate('leaders-linked/microlearning-reports/devices-and-access.phtml');
999
                $viewModel->setVariables([
1014
                $viewModel->setVariables([
1000
                    'form' => $form
1015
                    'form' => $form
1001
                ]);
1016
                ]);
Línea 1008... Línea 1023...
1008
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
1023
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
1009
        ]);
1024
        ]);
1010
    }
1025
    }
Línea -... Línea 1026...
-
 
1026
    
-
 
1027
    
-
 
1028
    public function devicesAndAccessExcelAction()
-
 
1029
    {
-
 
1030
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1031
        $currentUser = $currentUserPlugin->getUser();
-
 
1032
        $currentCompany = $currentUserPlugin->getCompany();
-
 
1033
        
-
 
1034
        $request = $this->getRequest();
-
 
1035
        
-
 
1036
        if($request->isGet())
-
 
1037
        {
-
 
1038
            
-
 
1039
            $company_id = filter_var($this->params()->fromQuery('company_id', ''), FILTER_SANITIZE_STRING);
-
 
1040
            $function_id = filter_var($this->params()->fromQuery('function_id', ''), FILTER_SANITIZE_STRING);
-
 
1041
            $group_id = filter_var($this->params()->fromQuery('group_id', ''), FILTER_SANITIZE_STRING);
-
 
1042
            $institution_id = filter_var($this->params()->fromQuery('institution_id', ''), FILTER_SANITIZE_STRING);
-
 
1043
            $program_id = filter_var($this->params()->fromQuery('program_id', ''), FILTER_SANITIZE_STRING);
-
 
1044
            $partner_id = filter_var($this->params()->fromQuery('partner_id', ''), FILTER_SANITIZE_STRING);
-
 
1045
            $sector_id = filter_var($this->params()->fromQuery('sector_id', ''), FILTER_SANITIZE_STRING);
-
 
1046
            $student_type_id = filter_var($this->params()->fromQuery('student_type_id', ''), FILTER_SANITIZE_STRING);
-
 
1047
            
-
 
1048
            
-
 
1049
            if($company_id) {
-
 
1050
                $extendUserCompanyMapper = CompanyMicrolearningExtendUserCompanyMapper::getInstance($this->adapter);
-
 
1051
                $extendUserCompany = $extendUserCompanyMapper->fetchOneByUuid($company_id);
-
 
1052
                
-
 
1053
                if($extendUserCompany) {
-
 
1054
                    $company_id = $extendUserCompany->id;
-
 
1055
                } else {
-
 
1056
                    $company_id = 0;
-
 
1057
                }
-
 
1058
            }
-
 
1059
            
-
 
1060
            if($function_id) {
-
 
1061
                $extendUserFunctionMapper = CompanyMicrolearningExtendUserFunctionMapper::getInstance($this->adapter);
-
 
1062
                $extendUserFunction = $extendUserFunctionMapper->fetchOneByUuid($function_id);
-
 
1063
                
-
 
1064
                if($extendUserFunction) {
-
 
1065
                    $function_id = $extendUserFunction->id;
-
 
1066
                } else {
-
 
1067
                    $function_id = 0;
-
 
1068
                }
-
 
1069
            }
-
 
1070
            
-
 
1071
            if($group_id) {
-
 
1072
                $extendUserGroupMapper = CompanyMicrolearningExtendUserGroupMapper::getInstance($this->adapter);
-
 
1073
                $extendUserGroup = $extendUserGroupMapper->fetchOneByUuid($group_id);
-
 
1074
                
-
 
1075
                if($extendUserGroup) {
-
 
1076
                    $group_id = $extendUserGroup->id;
-
 
1077
                } else {
-
 
1078
                    $group_id = 0;
-
 
1079
                }
-
 
1080
            }
-
 
1081
            
-
 
1082
            if($institution_id) {
-
 
1083
                $extendUserInstitutionMapper = CompanyMicrolearningExtendUserInstitutionMapper::getInstance($this->adapter);
-
 
1084
                $extendUserInstitution = $extendUserInstitutionMapper->fetchOneByUuid($institution_id);
-
 
1085
                if($extendUserInstitution) {
-
 
1086
                    $institution_id = $extendUserInstitution->id;
-
 
1087
                } else {
-
 
1088
                    $institution_id = 0;
-
 
1089
                }
-
 
1090
            }
-
 
1091
            
-
 
1092
            if($program_id) {
-
 
1093
                $extendUserProgramMapper = CompanyMicrolearningExtendUserProgramMapper::getInstance($this->adapter);
-
 
1094
                $extendUserProgram = $extendUserProgramMapper->fetchOneByUuid($program_id);
-
 
1095
                
-
 
1096
                if($extendUserProgram) {
-
 
1097
                    $program_id = $extendUserProgram->id;
-
 
1098
                } else {
-
 
1099
                    $program_id = 0;
-
 
1100
                }
-
 
1101
                
-
 
1102
                
-
 
1103
            }
-
 
1104
            
-
 
1105
            if($partner_id) {
-
 
1106
                $extendUserPartnerMapper = CompanyMicrolearningExtendUserPartnerMapper::getInstance($this->adapter);
-
 
1107
                $extendUserPartner = $extendUserPartnerMapper->fetchOneByUuid($partner_id);
-
 
1108
                if($extendUserPartner) {
-
 
1109
                    $partner_id = $extendUserPartner;
-
 
1110
                } else {
-
 
1111
                    $partner_id = 0;
-
 
1112
                }
-
 
1113
            }
-
 
1114
            
-
 
1115
            if($sector_id) {
-
 
1116
                $extendUserSectorMapper = CompanyMicrolearningExtendUserSectorMapper::getInstance($this->adapter);
-
 
1117
                $extendUserSector = $extendUserSectorMapper->fetchOneByUuid($sector_id);
-
 
1118
                if($extendUserSector) {
-
 
1119
                    $sector_id = $extendUserSector->id;
-
 
1120
                } else {
-
 
1121
                    $sector_id = 0;
-
 
1122
                }
-
 
1123
            }
-
 
1124
            
-
 
1125
            if($student_type_id) {
-
 
1126
                $extendUserStudentTypeMapper = CompanyMicrolearningExtendUserStudentTypeMapper::getInstance($this->adapter);
-
 
1127
                $extendUserStudentType = $extendUserStudentTypeMapper->fetchOneByUuid($student_type_id);
-
 
1128
                
-
 
1129
                if($extendUserStudentType) {
-
 
1130
                    $student_type_id = $extendUserStudentType->id;
-
 
1131
                } else {
-
 
1132
                    $student_type_id = 0;
-
 
1133
                }
-
 
1134
            }
-
 
1135
            
-
 
1136
            
-
 
1137
            
-
 
1138
            $paramsDownload = [
-
 
1139
                'company_id' => $company_id,
-
 
1140
                'function_id' => $function_id,
-
 
1141
                'group_id' => $group_id,
-
 
1142
                'institution_id' => $institution_id,
-
 
1143
                'program_id' => $program_id,
-
 
1144
                'partner_id' => $partner_id,
-
 
1145
                'sector_id' =>  $sector_id,
-
 
1146
                'student_type_id' => $student_type_id
-
 
1147
            ];
-
 
1148
            
-
 
1149
            
-
 
1150
            /*
-
 
1151
             echo 'company_id 1 =  '. $company_id . PHP_EOL;
-
 
1152
             echo 'function_id 1 =  '. $function_id . PHP_EOL;
-
 
1153
             echo 'group_id 1 =  '. $group_id . PHP_EOL;
-
 
1154
             echo 'institution_id 1 =  '. $institution_id . PHP_EOL;
-
 
1155
             echo 'program_id 1 =  '. $program_id . PHP_EOL;
-
 
1156
             echo 'partner_id 1 =  '. $partner_id . PHP_EOL;
-
 
1157
             echo 'sector_id 1 =  '. $sector_id . PHP_EOL;
-
 
1158
             echo 'student_type_id 1 =  '. $student_type_id . PHP_EOL;
-
 
1159
             exit;
-
 
1160
             */
-
 
1161
            
-
 
1162
            
-
 
1163
            $date = date('Y-m-d');
-
 
1164
            $deviceMapper = DeviceMapper::getInstance($this->adapter);
-
 
1165
            
-
 
1166
            
-
 
1167
            $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
1168
            
-
 
1169
            $selectCapsuleUser = $queryMapper->getSql()->select();
-
 
1170
            $selectCapsuleUser->columns(['user_id' => new Expression('DISTINCT(user_id)')  ]);
-
 
1171
            $selectCapsuleUser->from(CompanyMicrolearningCapsuleUserMapper::_TABLE);
-
 
1172
            $selectCapsuleUser->where->equalTo('company_id', $currentCompany->id);
-
 
1173
            $selectCapsuleUser->where->nest->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_UNLIMITED)->or->nest()
-
 
1174
            ->equalTo('access', CompanyMicrolearningCapsuleUser::ACCESS_PAY_PERIOD)
-
 
1175
            ->and->lessThanOrEqualTo(new Expression('DATE(paid_from)'), $date)
-
 
1176
            ->and->greaterThanOrEqualTo(new Expression('DATE(paid_to)'), $date )->unnest()->unnest();
-
 
1177
            
-
 
1178
            //echo $selectCapsuleUser->getSqlString($this->adapter->platform); exit;
-
 
1179
            
-
 
1180
            $select = $queryMapper->getSql()->select();
-
 
1181
            $select->columns(['id' , 'uuid', 'first_name', 'last_name', 'email']);
-
 
1182
            $select->from([ 'u' => UserMapper::_TABLE]);
-
 
1183
            if( $company_id || $function_id  || $group_id || $institution_id || $program_id || $partner_id ||  $sector_id || $student_type_id ) {
-
 
1184
                
-
 
1185
                $select->join(['e' => CompanyMicrolearningExtendUserMapper::_TABLE], 'e.user_id = u.id', []);
-
 
1186
                
-
 
1187
            }
-
 
1188
            
-
 
1189
            $select->where->in('u.id', $selectCapsuleUser);
-
 
1190
            if($company_id) {
-
 
1191
                $select->where->equalTo('e.extend_company_id', $company_id);
-
 
1192
            }
-
 
1193
            
-
 
1194
            if($function_id) {
-
 
1195
                $select->where->equalTo('e.extend_function_id', $function_id);
-
 
1196
                
-
 
1197
            }
-
 
1198
            if($group_id) {
-
 
1199
                $select->where->equalTo('e.extend_group_id', $group_id);
-
 
1200
            }
-
 
1201
            
-
 
1202
            if($institution_id) {
-
 
1203
                $select->where->equalTo('e.extend_institution_id', $institution_id);
-
 
1204
            }
-
 
1205
            
-
 
1206
            if($program_id) {
-
 
1207
                $select->where->equalTo('e.extend_program_id', $program_id);
-
 
1208
            }
-
 
1209
            
-
 
1210
            if($partner_id) {
-
 
1211
                $select->where->equalTo('e.extend_partner_id', $partner_id);
-
 
1212
            }
-
 
1213
            
-
 
1214
            if($sector_id) {
-
 
1215
                $select->where->equalTo('e.extend_sector_id', $sector_id);
-
 
1216
            }
-
 
1217
            
-
 
1218
            if($student_type_id) {
-
 
1219
                $select->where->equalTo('e.extend_student_type_id', $student_type_id);
-
 
1220
            }
-
 
1221
            
-
 
1222
            $select->where->equalTo('u.status', User::STATUS_ACTIVE);
-
 
1223
            $select->order(['u.first_name', 'u.last_name']);
-
 
1224
            
-
 
1225
            
-
 
1226
            
-
 
1227
            $items = [];
-
 
1228
            $records = $queryMapper->fetchAll($select);
-
 
1229
            foreach($records as $record)
-
 
1230
            {
-
 
1231
                $item = [
-
 
1232
                    'uuid' => $record['uuid'],
-
 
1233
                    'first_name' => ucwords(strtolower($record['first_name'])),
-
 
1234
                    'last_name' => ucwords(strtolower($record['last_name'])),
-
 
1235
                    'email' => strtolower($record['email']),
-
 
1236
                    'brand' => '',
-
 
1237
                    'manufacturer' => '',
-
 
1238
                    'model' => '',
-
 
1239
                    'platform' => '',
-
 
1240
                    'version' => '',
-
 
1241
                    'token' => 'LABEL_NO',
-
 
1242
                    'updated_on' => '',
-
 
1243
                ];
-
 
1244
                
-
 
1245
                $device = $deviceMapper->fetchOneByUserId($record['id']);
-
 
1246
                if($device) {
-
 
1247
                    $dt = \DateTime::createFromFormat('Y-m-d H:i:s', $device->updated_on);
-
 
1248
                    $updated_on = $dt->format('d/m/Y h:i a');
-
 
1249
                    
-
 
1250
                    $item['brand'] = $device->brand;
-
 
1251
                    $item['manufacturer'] = $device->manufacturer;
-
 
1252
                    $item['model'] = $device->model;
-
 
1253
                    $item['platform'] = $device->platform;
-
 
1254
                    $item['version'] = $device->version;
-
 
1255
                    $item['token'] = $device->token ? 'Si' : 'No';
-
 
1256
                    $item['updated_on'] = $updated_on;
-
 
1257
                    
-
 
1258
                }
-
 
1259
                
-
 
1260
                array_push($items, $item);
-
 
1261
                
-
 
1262
                
-
 
1263
            }
-
 
1264
            
-
 
1265
            $records = $items;
-
 
1266
            
-
 
1267
            $spreadsheet = new Spreadsheet();
-
 
1268
            $spreadsheet->getProperties()->setTitle("Dispositivos y Accesos");
-
 
1269
            
-
 
1270
            
-
 
1271
            
-
 
1272
            $spreadsheet->setActiveSheetIndex(0);
-
 
1273
            $spreadsheet->getActiveSheet()->SetCellValue('A1', 'Fecha:');
-
 
1274
            $spreadsheet->getActiveSheet()->SetCellValue('A2', date('d/m/Y h:i a'));
-
 
1275
            
-
 
1276
            $spreadsheet->getActiveSheet()->SetCellValue('A4', 'Nombre');
-
 
1277
            $spreadsheet->getActiveSheet()->SetCellValue('B4', 'Apellido');
-
 
1278
            $spreadsheet->getActiveSheet()->SetCellValue('C4', 'Correo electrónico');
-
 
1279
            $spreadsheet->getActiveSheet()->SetCellValue('D4', 'Marca');
-
 
1280
            $spreadsheet->getActiveSheet()->SetCellValue('E4', 'Fabricante');
-
 
1281
            $spreadsheet->getActiveSheet()->SetCellValue('F4', 'Modelo');
-
 
1282
            $spreadsheet->getActiveSheet()->SetCellValue('G4', 'Plataforma');
-
 
1283
            $spreadsheet->getActiveSheet()->SetCellValue('H4', 'Versión');
-
 
1284
            $spreadsheet->getActiveSheet()->SetCellValue('I4', 'Token push');
-
 
1285
            $spreadsheet->getActiveSheet()->SetCellValue('J4', 'Ultima vez');
-
 
1286
            
-
 
1287
            
-
 
1288
            $i = 5;
-
 
1289
            foreach($records as $record)
-
 
1290
            {
-
 
1291
                $spreadsheet->getActiveSheet()->SetCellValue('A' . $i, ucwords(strtolower(trim($record['first_name']))));
-
 
1292
                $spreadsheet->getActiveSheet()->SetCellValue('B' . $i, ucwords(strtolower(trim($record['last_name']))));
-
 
1293
                $spreadsheet->getActiveSheet()->SetCellValue('C' . $i, strtolower(trim($record['email'])));
-
 
1294
                $spreadsheet->getActiveSheet()->SetCellValue('D' . $i, $record['brand']);
-
 
1295
                $spreadsheet->getActiveSheet()->SetCellValue('E' . $i, $record['manufacturer']);
-
 
1296
                $spreadsheet->getActiveSheet()->SetCellValue('F' . $i, $record['model']);
-
 
1297
                $spreadsheet->getActiveSheet()->SetCellValue('G' . $i, $record['platform']);
-
 
1298
                $spreadsheet->getActiveSheet()->SetCellValue('H' . $i, $record['version']);
-
 
1299
                $spreadsheet->getActiveSheet()->SetCellValue('I' . $i, $record['token']);
-
 
1300
                $spreadsheet->getActiveSheet()->SetCellValue('J' . $i, $record['updated_on']);
-
 
1301
                
-
 
1302
                $i++;
-
 
1303
            }
-
 
1304
            
-
 
1305
            
-
 
1306
            $fileName = 'reporte_dispositivo_y_acceso_' . time() . '.xls';
-
 
1307
            
-
 
1308
            $tempFilename = tempnam(sys_get_temp_dir(), 'reporte_dispositivo_y_acceso_' . time());
-
 
1309
            
-
 
1310
            
-
 
1311
            
-
 
1312
            
-
 
1313
            
-
 
1314
            $writer = IOFactory::createWriter($spreadsheet, 'Xls');
-
 
1315
            $writer->save($tempFilename);
-
 
1316
            
-
 
1317
            $content = file_get_contents($tempFilename);
-
 
1318
            @unlink($tempFilename);
-
 
1319
            
-
 
1320
            return new JsonModel([
-
 
1321
                'success' => true,
-
 
1322
                'data' => [
-
 
1323
                    'content' => base64_encode($content),
-
 
1324
                    'basename' => $fileName
-
 
1325
                    
-
 
1326
                ]
-
 
1327
            ]);
-
 
1328
            
-
 
1329
            
-
 
1330
            
-
 
1331
            
-
 
1332
        } else {
-
 
1333
            return new JsonModel([
-
 
1334
                'success' => false,
-
 
1335
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
1336
            ]);
-
 
1337
        }
-
 
1338
    }
1011
    
1339
    
1012
    
1340
    
1013
    public function comentsForCapsulesAction()
1341
    public function comentsForCapsulesAction()
1014
    {
1342
    {
1015
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1343
        $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 1787... Línea 2115...
1787
                $select = $sql->select();
2115
                $select = $sql->select();
1788
                $select->columns(['total' => new Expression('COUNT(*)'), 'user_id']);
2116
                $select->columns(['total' => new Expression('COUNT(*)'), 'user_id']);
1789
                $select->from(CompanyMicrolearningCapsuleUserMapper::_TABLE);
2117
                $select->from(CompanyMicrolearningCapsuleUserMapper::_TABLE);
1790
                $select->where->equalTo('company_id', $topic->company_id);
2118
                $select->where->equalTo('company_id', $topic->company_id);
1791
                $select->where->equalTo('topic_id', $topic->id);
2119
                $select->where->equalTo('topic_id', $topic->id);
-
 
2120
                $select->where->in('user_id', $user_ids);
1792
                $select->group('user_id');
2121
                $select->group('user_id');
-
 
2122
                
1793
                //echo $select->getSqlString($this->adapter->platform); 
2123
                //echo $select->getSqlString($this->adapter->platform); 
Línea 1794... Línea 2124...
1794
                
2124
                
1795
                $records = $queryMapper->fetchAll($select);
2125
                $records = $queryMapper->fetchAll($select);
1796
                foreach($records as $record)
2126
                foreach($records as $record)
Línea 1808... Línea 2138...
1808
                $select->where->equalTo('company_id', $topic->company_id);
2138
                $select->where->equalTo('company_id', $topic->company_id);
1809
                $select->where->equalTo('topic_id', $topic->id);
2139
                $select->where->equalTo('topic_id', $topic->id);
1810
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
2140
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
1811
                $select->where->greaterThanOrEqualTo('progress', 100);
2141
                $select->where->greaterThanOrEqualTo('progress', 100);
1812
                $select->where->equalTo('completed', 1);
2142
                $select->where->equalTo('completed', 1);
-
 
2143
                $select->where->in('user_id', $user_ids);
1813
                $select->group('user_id');
2144
                $select->group('user_id');
1814
                $select->where->equalTo('user_id', 1789);
-
 
-
 
2145
 
Línea 1815... Línea 2146...
1815
                
2146
                
Línea 1816... Línea 2147...
1816
                //echo $select->getSqlString($this->adapter->platform); 
2147
                //echo $select->getSqlString($this->adapter->platform); 
Línea 1832... Línea 2163...
1832
                $select->where->equalTo('company_id', $topic->company_id);
2163
                $select->where->equalTo('company_id', $topic->company_id);
1833
                $select->where->equalTo('topic_id', $topic->id);
2164
                $select->where->equalTo('topic_id', $topic->id);
1834
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
2165
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
1835
                $select->where->lessThan('progress', 100);
2166
                $select->where->lessThan('progress', 100);
1836
                $select->where->equalTo('completed', 0);
2167
                $select->where->equalTo('completed', 0);
-
 
2168
                $select->where->in('user_id', $user_ids);
1837
                $select->group('user_id');
2169
                $select->group('user_id');
1838
                $select->where->equalTo('user_id', 1789);
-
 
1839
                
2170
 
1840
                //echo $select->getSqlString($this->adapter->platform); 
2171
                //echo $select->getSqlString($this->adapter->platform); 
Línea 1841... Línea 2172...
1841
                
2172
                
1842
                
2173
                
Línea 1853... Línea 2184...
1853
                $select->columns(['added_on' => new Expression('MIN(added_on)'), 'updated_on' => new Expression('MAX(updated_on)'), 'user_id']);
2184
                $select->columns(['added_on' => new Expression('MIN(added_on)'), 'updated_on' => new Expression('MAX(updated_on)'), 'user_id']);
1854
                $select->from(CompanyMicrolearningUserProgressMapper::_TABLE);
2185
                $select->from(CompanyMicrolearningUserProgressMapper::_TABLE);
1855
                $select->where->equalTo('company_id', $topic->company_id);
2186
                $select->where->equalTo('company_id', $topic->company_id);
1856
                $select->where->equalTo('topic_id', $topic->id);
2187
                $select->where->equalTo('topic_id', $topic->id);
1857
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
2188
                $select->where->equalTo('type', CompanyMicrolearningUserProgress::TYPE_CAPSULE);
-
 
2189
                $select->where->in('user_id', $user_ids);
1858
                $select->group('user_id');
2190
                $select->group('user_id');
Línea 1859... Línea 2191...
1859
                
2191
                
1860
                
-
 
1861
                $records = $queryMapper->fetchAll($select);
2192
                
1862
                $select->where->equalTo('user_id', 1789);
-
 
1863
                
-
 
1864
                //echo $select->getSqlString($this->adapter->platform); 
-
 
Línea 1865... Línea 2193...
1865
                
2193
                $records = $queryMapper->fetchAll($select);
1866
               // exit;
2194
 
1867
                
2195
                
Línea 2301... Línea 2629...
2301
                    
2629
                    
2302
                    
2630
                    
2303
                    $items[ $capsule_id ]['progress'] = $record['progress'];
2631
                    $items[ $capsule_id ]['progress'] = $record['progress'];
2304
                    $items[ $capsule_id ]['total_slides'] = $record['total_slides'];
2632
                    $items[ $capsule_id ]['total_slides'] = $record['total_slides'];
2305
                    $items[ $capsule_id ]['view_slides'] = $record['view_slides'];
2633
                    $items[ $capsule_id ]['view_slides'] = $record['view_slides'];
2306
                    $items[ $capsule_id ]['completed'] = $record['completed'];
2634
                    $items[ $capsule_id ]['completed'] = $record['completed'] == 1 ? 'Si' : 'No';
2307
                    $items[ $capsule_id ]['added_on'] = $added_on;
2635
                    $items[ $capsule_id ]['added_on'] = $added_on;