v1.6.5: fix attendance unique constraint, schema sync, seed script
- Change attendance idx_attendance_user_date from unique to index (allow multiple shifts per day) - Reset migrations to single baseline init migration - Add seed script with admin user (admin/admin) - Update CLAUDE.md with migration workflow documentation - Various frontend fixes (queries, pages, hooks) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -244,7 +244,7 @@ export default function Attendance() {
|
||||
|
||||
if (result.success) {
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["attendance", "status"],
|
||||
queryKey: ["attendance"],
|
||||
});
|
||||
punchTimeoutRef.current = setTimeout(() => {
|
||||
alert.success(result.data?.message || result.message || "Uloženo");
|
||||
@@ -271,7 +271,7 @@ export default function Attendance() {
|
||||
const result = await response.json();
|
||||
if (result.success) {
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["attendance", "status"],
|
||||
queryKey: ["attendance"],
|
||||
});
|
||||
alert.success(
|
||||
result.data?.message || result.message || "Přestávka zaznamenána",
|
||||
@@ -297,6 +297,7 @@ export default function Attendance() {
|
||||
|
||||
const result = await response.json();
|
||||
if (result.success) {
|
||||
await queryClient.invalidateQueries({ queryKey: ["attendance"] });
|
||||
alert.success("Poznámka byla uložena");
|
||||
} else {
|
||||
alert.error(result.error);
|
||||
@@ -319,7 +320,7 @@ export default function Attendance() {
|
||||
const result = await response.json();
|
||||
if (result.success) {
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["attendance", "status"],
|
||||
queryKey: ["attendance"],
|
||||
});
|
||||
alert.success(
|
||||
result.data?.message || result.message || "Projekt přepnut",
|
||||
@@ -363,7 +364,13 @@ export default function Attendance() {
|
||||
if (result.success) {
|
||||
setIsLeaveModalOpen(false);
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["attendance", "status"],
|
||||
queryKey: ["attendance"],
|
||||
});
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["leave-requests"],
|
||||
});
|
||||
await queryClient.invalidateQueries({
|
||||
queryKey: ["leave"],
|
||||
});
|
||||
await new Promise((resolve) => setTimeout(resolve, 300));
|
||||
alert.success(
|
||||
@@ -910,7 +917,7 @@ export default function Attendance() {
|
||||
<path d="M9 18l6-6-6-6" />
|
||||
</svg>
|
||||
</Link>
|
||||
{hasPermission("attendance.admin") && (
|
||||
{hasPermission("attendance.manage") && (
|
||||
<Link to="/attendance/admin" className="attendance-quick-link">
|
||||
<svg
|
||||
width="20"
|
||||
|
||||
Reference in New Issue
Block a user