mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
no message
This commit is contained in:
1 parent
253d02c167
commit
da05ab44da
2 files changed
+37
-12
No files matched your search
@@ -1051,6 +1051,13 @@ export default {
|
|||||||
return timesheet;
|
return timesheet;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Filter out existing attachments (from backend) and keep only new File objects
|
||||||
|
// Existing attachments have 'path' property, new files are File instances
|
||||||
|
const newFiles = (this.subtask.files || []).filter(
|
||||||
|
(file) => file instanceof File,
|
||||||
|
);
|
||||||
|
this.subtask.files = newFiles;
|
||||||
|
|
||||||
// Convert timeblocks from internal format to BE format for update
|
// Convert timeblocks from internal format to BE format for update
|
||||||
// Filter out completely empty timeblocks AND timeblocks without all required fields
|
// Filter out completely empty timeblocks AND timeblocks without all required fields
|
||||||
// Pre draft s multiple employees preskočiť - timeblocks sú v employees array
|
// Pre draft s multiple employees preskočiť - timeblocks sú v employees array
|
||||||
@@ -1210,21 +1217,28 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_mergeDeadlineTimeDate() {
|
_mergeDeadlineTimeDate() {
|
||||||
// Override for concept tasks which may not have a deadline time set (check for invalid date)
|
// Check if deadline date is valid
|
||||||
if (
|
const isValidDate = !isNaN(new Date(this.subtask.deadline).getTime());
|
||||||
isNaN(new Date(this.subtask.deadline).getTime()) ||
|
|
||||||
!this.subtask._deadline_time
|
|
||||||
) {
|
|
||||||
this.subtask.deadline = null;
|
|
||||||
} else {
|
|
||||||
const date = new Date(this.subtask.deadline);
|
|
||||||
const timeParts = this.subtask._deadline_time.split(':');
|
|
||||||
|
|
||||||
|
if (!isValidDate) {
|
||||||
|
this.subtask.deadline = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const date = new Date(this.subtask.deadline);
|
||||||
|
|
||||||
|
// If time is set, use it; otherwise use default time (23:59) for concepts
|
||||||
|
if (this.subtask._deadline_time) {
|
||||||
|
const timeParts = this.subtask._deadline_time.split(':');
|
||||||
date.setHours(parseInt(timeParts[0]));
|
date.setHours(parseInt(timeParts[0]));
|
||||||
date.setMinutes(parseInt(timeParts[1]));
|
date.setMinutes(parseInt(timeParts[1]));
|
||||||
|
} else {
|
||||||
this.subtask.deadline = date;
|
// Default time for concepts without time specified
|
||||||
|
date.setHours(23);
|
||||||
|
date.setMinutes(59);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.subtask.deadline = date;
|
||||||
},
|
},
|
||||||
|
|
||||||
_filterValidEmployees(employees, isConcept) {
|
_filterValidEmployees(employees, isConcept) {
|
||||||
|
|||||||
@@ -381,7 +381,18 @@ class SubTaskController extends Controller
|
|||||||
}
|
}
|
||||||
$data['data']['title'] = isset($request->all()['data']['title']) ? $request->all()['data']['title'] : null;
|
$data['data']['title'] = isset($request->all()['data']['title']) ? $request->all()['data']['title'] : null;
|
||||||
$data['data']['deadline'] = isset($request->all()['data']['deadline']) ? $request->all()['data']['deadline'] : null;
|
$data['data']['deadline'] = isset($request->all()['data']['deadline']) ? $request->all()['data']['deadline'] : null;
|
||||||
$data['data']['estimated_time'] = $request->all()['data']['duration'] ?? $subtask->estimated_time;
|
|
||||||
|
// Pre drafty s viacerými zamestnancami: prepočítaj estimated_time zo všetkých employees
|
||||||
|
if ($isDraftWithMultipleEmployees && $employeesData) {
|
||||||
|
$totalEstimatedTime = 0;
|
||||||
|
foreach ($employeesData as $employee) {
|
||||||
|
$totalEstimatedTime += $employee['duration'] ?? 0;
|
||||||
|
}
|
||||||
|
$data['data']['estimated_time'] = $totalEstimatedTime;
|
||||||
|
} else {
|
||||||
|
$data['data']['estimated_time'] = $request->all()['data']['duration'] ?? $subtask->estimated_time;
|
||||||
|
}
|
||||||
|
|
||||||
$data['data']['updated_by'] = User::getUserIdFromBearerToken($request->bearerToken());
|
$data['data']['updated_by'] = User::getUserIdFromBearerToken($request->bearerToken());
|
||||||
|
|
||||||
// publikovanie draftu
|
// publikovanie draftu
|
||||||
|
|||||||
Reference in new issue
Block a user