added shift titles to the shift signup sheets to make tracking easier and adding shifts easier

This commit is contained in:
2025-07-16 17:47:11 -06:00
parent f659efbb04
commit ec208dde61
5 changed files with 274 additions and 10 deletions

View File

@@ -103,6 +103,7 @@ class ShiftsController {
const transformedSignups = userSignups.map(signup => ({
id: signup.ID || signup.id,
shift_id: signup['Shift ID'],
shift_title: signup['Shift Title'],
user_email: signup['User Email'],
user_name: signup['User Name'],
signup_date: signup['Signup Date'],
@@ -191,6 +192,7 @@ class ShiftsController {
// Create signup
const signup = await nocodbService.create(config.nocodb.shiftSignupsSheetId, {
'Shift ID': parseInt(shiftId),
'Shift Title': shift.Title,
'User Email': userEmail,
'User Name': userName,
'Signup Date': new Date().toISOString(),

View File

@@ -128,18 +128,23 @@ function displayMySignups() {
return;
}
// Need to match signups with shift details
// Need to match signups with shift details for date/time info
const signupsWithDetails = mySignups.map(signup => {
const shift = allShifts.find(s => s.ID === signup.shift_id);
return { ...signup, shift };
}).filter(s => s.shift);
return {
...signup,
shift,
// Use title from signup record if available, otherwise from shift
displayTitle: signup.shift_title || (shift ? shift.Title : 'Unknown Shift')
};
}).filter(s => s.shift); // Only show signups where we can find the shift details
list.innerHTML = signupsWithDetails.map(signup => {
const shiftDate = new Date(signup.shift.Date);
return `
<div class="signup-item">
<div>
<h4>${escapeHtml(signup.shift.Title)}</h4>
<h4>${escapeHtml(signup.displayTitle)}</h4>
<p>📅 ${shiftDate.toLocaleDateString()}${signup.shift['Start Time']} - ${signup.shift['End Time']}</p>
</div>
<div class="signup-actions">