|
965 | 965 | break; |
966 | 966 |
|
967 | 967 | case 'firma': |
| 968 | + $intervento = Intervento::find($id_record); |
968 | 969 | if (is_writable(Uploads::getDirectory($id_module))) { |
969 | 970 | if (post('firma_base64') != '') { |
970 | 971 | // Salvataggio firma |
971 | | - $firma_nome = post('firma_nome'); |
972 | | - |
973 | 972 | $data = explode(',', post('firma_base64')); |
974 | | - |
975 | 973 | $img = getImageManager()->read(base64_decode($data[1])); |
976 | 974 | $img->resize(680, 202, function ($constraint) { |
977 | 975 | $constraint->aspectRatio(); |
|
981 | 979 | $img->brightness((float) setting('Luminosità firma Wacom')); |
982 | 980 | $img->contrast((float) setting('Contrasto firma Wacom')); |
983 | 981 | } |
| 982 | + $encoded_image = $img->toJpeg(); |
| 983 | + $file_content = $encoded_image->toString(); |
| 984 | + |
| 985 | + // Upload del file in zz_files |
| 986 | + $upload = Uploads::upload($file_content, [ |
| 987 | + 'name' => 'firma.jpg', |
| 988 | + 'category' => 'Firme', |
| 989 | + 'id_module' => $id_module, |
| 990 | + 'id_record' => $id_record, |
| 991 | + 'key' => 'signature', |
| 992 | + ]); |
984 | 993 |
|
985 | | - // Salva temporaneamente il file per l'upload |
986 | | - $temp_file = base_dir().'/files/interventi/firma_temp_'.time().'.jpg'; |
987 | | - if (!$img->save($temp_file)) { |
988 | | - flash()->error(tr('Impossibile creare il file.')); |
| 994 | + if (empty($upload)) { |
| 995 | + flash()->error(tr('Errore durante il caricamento della firma!')); |
989 | 996 | } else { |
990 | | - // Upload del file in zz_files con key='signature_nome_data' |
991 | | - $data_firma = date('Y-m-d'); |
992 | | - $upload = Uploads::upload($temp_file, [ |
993 | | - 'name' => 'Firma', |
994 | | - 'category' => 'Firme', |
995 | | - 'id_module' => $id_module, |
996 | | - 'id_record' => $id_record, |
997 | | - 'key' => 'signature_'.$firma_nome.'_'.$data_firma, |
998 | | - ]); |
| 997 | + flash()->info(tr('Firma salvata correttamente.')); |
999 | 998 |
|
1000 | | - if (empty($upload)) { |
1001 | | - flash()->error(tr('Errore durante il caricamento della firma!')); |
1002 | | - } else { |
1003 | | - flash()->info(tr('Firma salvata correttamente.')); |
| 999 | + $intervento->firma_data = date('Y-m-d H:i:s'); |
| 1000 | + $intervento->firma_nome = post('firma_nome'); |
| 1001 | + $intervento->save(); |
1004 | 1002 |
|
1005 | | - $id_stato = setting("Stato dell'attività dopo la firma"); |
1006 | | - $stato = $dbo->selectOne('in_statiintervento', '*', ['id' => $id_stato]); |
1007 | | - $intervento = Intervento::find($id_record); |
1008 | | - if (!empty($stato)) { |
1009 | | - $intervento = Intervento::find($id_record); |
1010 | | - $intervento->idstatointervento = $stato['id']; |
1011 | | - $intervento->save(); |
1012 | | - } |
| 1003 | + $id_stato = setting("Stato dell'attività dopo la firma"); |
| 1004 | + $stato = $dbo->selectOne('in_statiintervento', '*', ['id' => $id_stato]); |
| 1005 | + if (!empty($stato)) { |
| 1006 | + $intervento->idstatointervento = $stato['id']; |
| 1007 | + $intervento->save(); |
1013 | 1008 | } |
| 1009 | + } |
1014 | 1010 |
|
1015 | | - // Notifica chiusura intervento |
1016 | | - if (!empty($stato['notifica'])) { |
1017 | | - $template = Template::find($stato['id_email']); |
| 1011 | + // Notifica chiusura intervento |
| 1012 | + if (!empty($stato['notifica'])) { |
| 1013 | + $template = Template::find($stato['id_email']); |
1018 | 1014 |
|
1019 | | - if (!empty($stato['destinatari'])) { |
| 1015 | + if (!empty($stato['destinatari'])) { |
| 1016 | + $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
| 1017 | + $mail->addReceiver($stato['destinatari']); |
| 1018 | + $mail->save(); |
| 1019 | + } |
| 1020 | + |
| 1021 | + if (!empty($stato['notifica_cliente'])) { |
| 1022 | + if (!empty($intervento->anagrafica->email)) { |
1020 | 1023 | $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1021 | | - $mail->addReceiver($stato['destinatari']); |
| 1024 | + $mail->addReceiver($intervento->anagrafica->email); |
1022 | 1025 | $mail->save(); |
1023 | 1026 | } |
| 1027 | + } |
1024 | 1028 |
|
1025 | | - if (!empty($stato['notifica_cliente'])) { |
1026 | | - if (!empty($intervento->anagrafica->email)) { |
1027 | | - $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1028 | | - $mail->addReceiver($intervento->anagrafica->email); |
1029 | | - $mail->save(); |
1030 | | - } |
1031 | | - } |
1032 | | - |
1033 | | - if (!empty($stato['notifica_tecnici'])) { |
1034 | | - $tecnici_intervento = $dbo->select('in_interventi_tecnici', 'idtecnico', [], ['idintervento' => $id_record]); |
1035 | | - $tecnici_assegnati = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico AS idtecnico', [], ['id_intervento' => $id_record]); |
1036 | | - $tecnici = array_unique(array_merge($tecnici_intervento, $tecnici_assegnati), SORT_REGULAR); |
| 1029 | + if (!empty($stato['notifica_tecnici'])) { |
| 1030 | + $tecnici_intervento = $dbo->select('in_interventi_tecnici', 'idtecnico', [], ['idintervento' => $id_record]); |
| 1031 | + $tecnici_assegnati = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico AS idtecnico', [], ['id_intervento' => $id_record]); |
| 1032 | + $tecnici = array_unique(array_merge($tecnici_intervento, $tecnici_assegnati), SORT_REGULAR); |
1037 | 1033 |
|
1038 | | - foreach ($tecnici as $tecnico) { |
1039 | | - $mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]); |
1040 | | - if (!empty($mail_tecnico['email'])) { |
1041 | | - if (!empty($template)) { |
1042 | | - $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1043 | | - $mail->addReceiver($mail_tecnico['email']); |
1044 | | - $mail->save(); |
1045 | | - flash()->info(tr('Notifica al tecnico aggiunta correttamente.')); |
1046 | | - } |
| 1034 | + foreach ($tecnici as $tecnico) { |
| 1035 | + $mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]); |
| 1036 | + if (!empty($mail_tecnico['email'])) { |
| 1037 | + if (!empty($template)) { |
| 1038 | + $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
| 1039 | + $mail->addReceiver($mail_tecnico['email']); |
| 1040 | + $mail->save(); |
| 1041 | + flash()->info(tr('Notifica al tecnico aggiunta correttamente.')); |
1047 | 1042 | } |
1048 | 1043 | } |
1049 | 1044 | } |
|
1068 | 1063 |
|
1069 | 1064 | if (post('firma_base64') != '') { |
1070 | 1065 | foreach ($id_records as $id_record) { |
1071 | | - // Salvataggio firma |
1072 | | - $firma_nome = post('firma_nome'); |
| 1066 | + $intervento = Intervento::find($id_record); |
1073 | 1067 |
|
| 1068 | + // Salvataggio firma |
1074 | 1069 | $data = explode(',', post('firma_base64')); |
1075 | | - |
1076 | 1070 | $img = getImageManager()->read(base64_decode($data[1])); |
1077 | 1071 | $img->resize(680, 202, function ($constraint) { |
1078 | 1072 | $constraint->aspectRatio(); |
1079 | 1073 | }); |
| 1074 | + $encoded_image = $img->toJpeg(); |
| 1075 | + $file_content = $encoded_image->toString(); |
1080 | 1076 |
|
1081 | | - // Salva temporaneamente il file per l'upload |
1082 | | - $temp_file = base_dir().'/files/interventi/firma_temp_'.time().'.jpg'; |
1083 | | - if (!$img->save($temp_file)) { |
1084 | | - flash()->error(tr('Impossibile creare il file!')); |
1085 | | - } else { |
1086 | | - // Upload del file in zz_files con key='signature_nome_data' |
1087 | | - $data_firma = date('Y-m-d'); |
1088 | | - $upload = Uploads::upload($temp_file, [ |
1089 | | - 'name' => 'Firma', |
1090 | | - 'category' => 'Firme', |
1091 | | - 'id_module' => $id_module, |
1092 | | - 'id_record' => $id_record, |
1093 | | - 'key' => 'signature_'.$firma_nome.'_'.$data_firma, |
1094 | | - ]); |
1095 | | - |
1096 | | - if (!empty($upload)) { |
1097 | | - ++$firmati; |
1098 | | - |
1099 | | - $id_stato = setting("Stato dell'attività dopo la firma"); |
1100 | | - $stato = $dbo->selectOne('in_statiintervento', '*', ['id' => $id_stato]); |
1101 | | - $intervento = Intervento::find($id_record); |
1102 | | - if (!empty($stato)) { |
1103 | | - $intervento = Intervento::find($id_record); |
1104 | | - $intervento->idstatointervento = $stato['id']; |
1105 | | - $intervento->save(); |
1106 | | - } |
| 1077 | + // Upload del file in zz_files |
| 1078 | + $upload = Uploads::upload($file_content, [ |
| 1079 | + 'name' => 'firma.jpg', |
| 1080 | + 'category' => 'Firme', |
| 1081 | + 'id_module' => $id_module, |
| 1082 | + 'id_record' => $id_record, |
| 1083 | + 'key' => 'signature', |
| 1084 | + ]); |
1107 | 1085 |
|
1108 | | - // Notifica chiusura intervento |
1109 | | - if (!empty($stato['notifica'])) { |
1110 | | - $template = Template::find($stato['id_email']); |
| 1086 | + if (!empty($upload)) { |
| 1087 | + ++$firmati; |
1111 | 1088 |
|
1112 | | - if (!empty($stato['destinatari'])) { |
| 1089 | + $intervento->firma_data = date('Y-m-d H:i:s'); |
| 1090 | + $intervento->firma_nome = post('firma_nome'); |
| 1091 | + $intervento->save(); |
| 1092 | + |
| 1093 | + $id_stato = setting("Stato dell'attività dopo la firma"); |
| 1094 | + $stato = $dbo->selectOne('in_statiintervento', '*', ['id' => $id_stato]); |
| 1095 | + if (!empty($stato)) { |
| 1096 | + $intervento->idstatointervento = $stato['id']; |
| 1097 | + $intervento->save(); |
| 1098 | + } |
| 1099 | + |
| 1100 | + // Notifica chiusura intervento |
| 1101 | + if (!empty($stato['notifica'])) { |
| 1102 | + $template = Template::find($stato['id_email']); |
| 1103 | + |
| 1104 | + if (!empty($stato['destinatari'])) { |
| 1105 | + $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
| 1106 | + $mail->addReceiver($stato['destinatari']); |
| 1107 | + $mail->save(); |
| 1108 | + } |
| 1109 | + |
| 1110 | + if (!empty($stato['notifica_cliente'])) { |
| 1111 | + if (!empty($intervento->anagrafica->email)) { |
1113 | 1112 | $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1114 | | - $mail->addReceiver($stato['destinatari']); |
| 1113 | + $mail->addReceiver($intervento->anagrafica->email); |
1115 | 1114 | $mail->save(); |
1116 | 1115 | } |
| 1116 | + } |
1117 | 1117 |
|
1118 | | - if (!empty($stato['notifica_cliente'])) { |
1119 | | - if (!empty($intervento->anagrafica->email)) { |
| 1118 | + if (!empty($stato['notifica_tecnici'])) { |
| 1119 | + $tecnici_intervento = $dbo->select('in_interventi_tecnici', 'idtecnico', [], ['idintervento' => $id_record]); |
| 1120 | + $tecnici_assegnati = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico AS idtecnico', [], ['id_intervento' => $id_record]); |
| 1121 | + $tecnici = array_unique(array_merge($tecnici_intervento, $tecnici_assegnati), SORT_REGULAR); |
| 1122 | + |
| 1123 | + foreach ($tecnici as $tecnico) { |
| 1124 | + $mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]); |
| 1125 | + if (!empty($mail_tecnico['email'])) { |
1120 | 1126 | $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1121 | | - $mail->addReceiver($intervento->anagrafica->email); |
| 1127 | + $mail->addReceiver($mail_tecnico['email']); |
1122 | 1128 | $mail->save(); |
1123 | 1129 | } |
1124 | 1130 | } |
1125 | | - |
1126 | | - if (!empty($stato['notifica_tecnici'])) { |
1127 | | - $tecnici_intervento = $dbo->select('in_interventi_tecnici', 'idtecnico', [], ['idintervento' => $id_record]); |
1128 | | - $tecnici_assegnati = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico AS idtecnico', [], ['id_intervento' => $id_record]); |
1129 | | - $tecnici = array_unique(array_merge($tecnici_intervento, $tecnici_assegnati), SORT_REGULAR); |
1130 | | - |
1131 | | - foreach ($tecnici as $tecnico) { |
1132 | | - $mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]); |
1133 | | - if (!empty($mail_tecnico['email'])) { |
1134 | | - $mail = Mail::build(auth_osm()->getUser(), $template, $id_record); |
1135 | | - $mail->addReceiver($mail_tecnico['email']); |
1136 | | - $mail->save(); |
1137 | | - } |
1138 | | - } |
1139 | | - } |
1140 | 1131 | } |
1141 | | - } else { |
1142 | | - ++$non_firmati; |
1143 | 1132 | } |
| 1133 | + } else { |
| 1134 | + ++$non_firmati; |
1144 | 1135 | } |
1145 | 1136 | } |
1146 | 1137 | } |
|
1317 | 1308 | $new->codice = Intervento::getNextCodice($data_richiesta, $new->id_segment); |
1318 | 1309 | $new->data_richiesta = $data_richiesta; |
1319 | 1310 | $new->data_scadenza = post('ora_scadenza') ? $date->format('Y-m-d').' '.post('ora_scadenza') : null; |
| 1311 | + $new->firma_data = null; |
| 1312 | + $new->firma_nome = ''; |
1320 | 1313 |
|
1321 | 1314 | $new->save(); |
1322 | 1315 |
|
|
0 commit comments