fixed attendance logs and role name

This commit is contained in:
Pramod Mahajan 2025-04-09 11:35:53 +05:30
parent 453c53940f
commit 1483cab13f
2 changed files with 77 additions and 90 deletions

View File

@ -33,11 +33,12 @@ const AttendancePage = () => {
const dispatch = useDispatch();
const [formData, setFormData] = useState({
markTime: "",
description: "",
date: new Date().toLocaleDateString(),
});
time: "",
description: "",
date: new Date().toLocaleDateString(),
});
const getRole = (roleId) => {
if (!empRoles) return "Unassigned";
if (!roleId) return "Unassigned";
@ -66,26 +67,24 @@ const AttendancePage = () => {
document.querySelector(".modal-backdrop").remove();
}
};
const handleSubmit = ( formData ) =>
{
dispatch(markCurrentAttendance(formData))
.then((action) => {
const updatedAttendance = attendances.map((item) =>
item.employeeId === action.payload.employeeId
? { ...item, ...action.payload }
: item
);
cacheData("Attendance", {
data: updatedAttendance,
projectId: selectedProject,
});
setAttendances(updatedAttendance);
showToast("Attedance Marked Successfully", "success");
})
.catch((error) => {
showToast(error.message, "error");
});
const handleSubmit = ( formData ) =>{
dispatch( markCurrentAttendance( formData ) ).then( ( action ) =>
{
const updatedAttendance = attendances.map(item =>
item.employeeId === action.payload.employeeId
? { ...item, ...action.payload }
: item
);
cacheData("Attendance", { data: updatedAttendance, projectId: selectedProject })
setAttendances(updatedAttendance)
showToast("Attedance Marked Successfully","success")
})
.catch( ( error ) =>
{
showToast(error.message,"error")
});
};
useEffect(() => {
@ -126,70 +125,60 @@ const AttendancePage = () => {
{ label: "Home", link: "/dashboard" },
{ label: "Attendance", link: null },
]}
></Breadcrumb>
<div className="nav-align-top nav-tabs-shadow">
<ul className="nav nav-tabs" role="tablist">
<div
className="dataTables_length text-start py-2 px-2"
id="DataTables_Table_0_length"
>
{loginUser && loginUser?.projects.length > 1 && (
<label>
<select
name="DataTables_Table_0_length"
aria-controls="DataTables_Table_0"
className="form-select form-select-sm"
value={selectedProject}
onChange={(e) => dispatch(setProjectId(e.target.value))}
aria-label=""
>
{!projectLoading &&
projects
?.filter((project) =>
loginUser?.projects?.map(Number).includes(project.id)
)
.map((project) => (
<option value={project.id}>{project.name}</option>
))}
{projectLoading && (
<option value="Loading..." disabled>
Loading...
</option>
)}
</select>
</label>
)}
</div>
</ul>
<ul className="nav nav-tabs" role="tablist">
<li className="nav-item">
<button
type="button"
className="nav-link active"
role="tab"
data-bs-toggle="tab"
data-bs-target="#navs-top-home"
aria-controls="navs-top-home"
aria-selected="true"
></Breadcrumb>
<div class="nav-align-top nav-tabs-shadow">
<ul class="nav nav-tabs" role="tablist">
<div
className="dataTables_length text-start py-2 px-2"
id="DataTables_Table_0_length"
>
{
((loginUser && loginUser?.projects.length > 1) ) && (<label>
<select
name="DataTables_Table_0_length"
aria-controls="DataTables_Table_0"
className="form-select form-select-sm"
value={selectedProject}
onChange={(e)=>dispatch(setProjectId(e.target.value))}
aria-label=""
>
All
</button>
</li>
<li className="nav-item">
<button
type="button"
className="nav-link"
role="tab"
data-bs-toggle="tab"
data-bs-target="#navs-top-profile"
aria-controls="navs-top-profile"
aria-selected="false"
>
Logs
</button>
</li>
<li className={`nav-item ${!DoRegularized && "d-none"}`}>
{!projectLoading && projects?.filter(project =>
loginUser?.projects?.map(Number).includes(project.id)).map((project)=>(
<option value={project.id}>{project.name}</option>
))}
{projectLoading && <option value="Loading..." disabled>Loading...</option> }
</select>
</label>)
}
</div>
</ul>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<button
type="button"
class="nav-link active"
role="tab"
data-bs-toggle="tab"
data-bs-target="#navs-top-home"
aria-controls="navs-top-home"
aria-selected="true">
All
</button>
</li>
<li class="nav-item">
<button
type="button"
class="nav-link"
role="tab"
data-bs-toggle="tab"
data-bs-target="#navs-top-profile"
aria-controls="navs-top-profile"
aria-selected="false">
Logs
</button>
</li>
<li className={`nav-item ${!DoRegularized && 'd-none'}`}>
<button
type="button"
className="nav-link "

View File

@ -4,9 +4,7 @@ import {clearCacheKey} from '../apiDataManager';
export const markCurrentAttendance = createAsyncThunk(
'attendanceCurrentDate/markAttendance',
async ( formData, {getState, dispatch, rejectWithValue} ) =>
{
async (formData, { getState, dispatch, rejectWithValue }) => {
const { projectId } = getState().localVariables
try
{