Skip to content

Commit 70585ff

Browse files
committed
Share code with ticket update
1 parent b7d91a4 commit 70585ff

1 file changed

Lines changed: 45 additions & 32 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,38 +1073,7 @@ public function store(Request $request)
10731073
}
10741074

10751075
// Embedded Comments
1076-
if ($request->has('form_comments')){
1077-
$custom_messages = [
1078-
'content.required' => trans('panichd::lang.validate-comment-required'),
1079-
'content.min' => trans('panichd::lang.validate-comment-min'),
1080-
];
1081-
1082-
foreach($request->form_comments as $i){
1083-
1084-
if (!$request->has('response_' . $i)) continue;
1085-
1086-
$response_type = in_array($request->{'response_' . $i}, ['note','reply']) ? $request->{'response_' . $i} : 'note';
1087-
1088-
$request_comment = $request->input('comment_' . $i);
1089-
$a_content = $this->purifyHtml($request_comment);
1090-
1091-
$validator = Validator::make($a_content, ['content' => 'required|min:6'], $custom_messages);
1092-
if ($validator->fails()) {
1093-
$a_messages = $validator->errors()->messages();
1094-
$a_result_errors['fields']['comment_' . $i] = current($a_messages['content']);
1095-
}else{
1096-
$comment = new Models\Comment();
1097-
$comment->type = $response_type;
1098-
$comment->ticket_id = $ticket->id;
1099-
$comment->user_id = auth()->user()->id;
1100-
$comment->content = $a_content['content'];
1101-
$comment->html = $a_content['html'];
1102-
$comment->save();
1103-
1104-
$a_new_comments[] = $comment;
1105-
}
1106-
}
1107-
}
1076+
$a_result_errors = $this->add_embedded_comments($request, $ticket, $a_result_errors);
11081077

11091078
// If errors present
11101079
if ($a_result_errors){
@@ -1141,6 +1110,47 @@ public function store(Request $request)
11411110
]);
11421111
}
11431112

1113+
/*
1114+
* Add embedded comments in ticket creation / edition
1115+
*/
1116+
public function add_embedded_comments($request, $ticket, $a_result_errors)
1117+
{
1118+
if ($request->has('form_comments')){
1119+
$custom_messages = [
1120+
'content.required' => trans('panichd::lang.validate-comment-required'),
1121+
'content.min' => trans('panichd::lang.validate-comment-min'),
1122+
];
1123+
1124+
foreach($request->form_comments as $i){
1125+
1126+
if (!$request->has('response_' . $i)) continue;
1127+
1128+
$response_type = in_array($request->{'response_' . $i}, ['note','reply']) ? $request->{'response_' . $i} : 'note';
1129+
1130+
$request_comment = $request->input('comment_' . $i);
1131+
$a_content = $this->purifyHtml($request_comment);
1132+
1133+
$validator = Validator::make($a_content, ['content' => 'required|min:6'], $custom_messages);
1134+
if ($validator->fails()) {
1135+
$a_messages = $validator->errors()->messages();
1136+
$a_result_errors['fields']['comment_' . $i] = current($a_messages['content']);
1137+
}else{
1138+
$comment = new Models\Comment();
1139+
$comment->type = $response_type;
1140+
$comment->ticket_id = $ticket->id;
1141+
$comment->user_id = auth()->user()->id;
1142+
$comment->content = $a_content['content'];
1143+
$comment->html = $a_content['html'];
1144+
$comment->save();
1145+
1146+
$a_new_comments[] = $comment;
1147+
}
1148+
}
1149+
}
1150+
1151+
return $a_result_errors;
1152+
}
1153+
11441154
public function downloadAttachment($attachment_id)
11451155
{
11461156
/** @var Attachment $attachment */
@@ -1329,6 +1339,9 @@ public function update(Request $request, $id)
13291339
}
13301340
}
13311341

1342+
// Embedded Comments
1343+
$a_result_errors = $this->add_embedded_comments($request, $ticket, $a_result_errors);
1344+
13321345
// If errors present
13331346
if ($a_result_errors){
13341347
return response()->json(array_merge(

0 commit comments

Comments
 (0)