Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion client/src/components/PdfPrint/PdfFooter.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,15 @@ const useStyles = createUseStyles({
});

const PdfFooter = ({ project }) => {
const { dateModified, dateSubmitted, dateSnapshotted, loginId } = project;
const {
dateModified,
dateSubmitted,
dateSnapshotted,
loginId,
firstName,
lastName,
email
} = project;
const classes = useStyles();
const userContext = useContext(UserContext);
const loggedInUserId = userContext.account?.id;
Expand All @@ -35,6 +43,8 @@ const PdfFooter = ({ project }) => {
formatDatetime(DateTime.now())
);

const isAdmin = userContext.account?.isAdmin || false;

useEffect(() => {
// You would update these dates based on your application logic
// For instance, you might fetch them from an API when the component mounts
Expand All @@ -53,6 +63,14 @@ const PdfFooter = ({ project }) => {
<section className={classes.pdfFooterContainer}>
{loginId && (
<>
<div className={classes.pdfTimeText}>
Snapshot Owner: {firstName} {lastName}, {email}
</div>
{isAdmin && (
<div className={classes.pdfTimeText}>
Submission Status: {project.approvalStatusName}
</div>
)}
<div className={classes.pdfTimeText}>
Status:{" "}
{!formattedDateSnapshotted
Expand Down
11 changes: 11 additions & 0 deletions client/src/components/ProjectWizard/WizardFooter.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ const WizardFooter = ({
const loggedInUserId = userContext.account?.id || null;

const isAdmin = userContext.account?.isAdmin || false;
const { firstName, lastName, email } = project;

return (
<>
Expand Down Expand Up @@ -183,6 +184,16 @@ const WizardFooter = ({

{page === 5 && formattedDateModified && loggedInUserId ? (
<div className={classes.datesStatus}>
<div>
<strong>Snapshot Owner: </strong>
{firstName} {lastName}, {email}
</div>
{isAdmin && (
<div>
<strong>Submission Status: </strong>
{project.approvalStatusName}
</div>
)}
<div className={classes.pdfTimeText}>
<strong>Status: </strong>
{!formattedDateSnapshotted
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
-- update ProjectSelectById proc - add approval status
ALTER PROC [dbo].[Project_SelectById]
@loginId int = null,
@id int
AS
BEGIN

IF EXISTS(SELECT 1 FROM Login WHERE id = @LoginId AND isAdmin = 1)
BEGIN
SELECT
p.id,
p.name,
p.address,
p.formInputs,
p.targetPoints,
p.earnedPoints,
p.projectLevel,
p.loginId,
p.calculationId,
p.dateCreated,
p.dateModified,
p.description,
l.firstName,
l.lastName,
p.droId,
p.adminNotes,
p.dateModifiedAdmin,
ph.dateCreated as dateHidden,
p.dateTrashed,
p.dateSnapshotted,
p.dateSubmitted,
p.approvalStatusId,
a.name as approvalStatusName
FROM Project p
JOIN Login l ON p.loginId = l.id
LEFT JOIN ProjectHidden ph on p.id = ph.projectId AND ph.loginId = @loginId
LEFT JOIN ApprovalStatus a on p.approvalStatusId = a.id
WHERE p.id = @id;
END
ELSE
BEGIN
SELECT
p.id,
p.name,
p.address,
p.formInputs,
p.targetPoints,
p.earnedPoints,
p.projectLevel,
p.loginId,
p.calculationId,
p.dateCreated,
p.dateModified,
p.description,
l.firstName,
l.lastName,
p.droId,
p.adminNotes,
p.dateModifiedAdmin,
ph.dateCreated as dateHidden,
p.dateTrashed,
p.dateSnapshotted,
p.dateSubmitted,
p.approvalStatusId,
a.name as approvalStatusName
FROM Project p
JOIN Login l ON p.loginId = l.id
LEFT JOIN ProjectHidden ph on p.id = ph.projectId AND ph.loginId = @loginId
LEFT JOIN ApprovalStatus a on p.approvalStatusId = a.id
WHERE p.id = @id AND
(
p.loginId = ISNULL(@loginId, p.loginId)
OR EXISTS
(
SELECT 1 from ProjectShare ps
JOIN Login viewer ON viewer.email = ps.email
WHERE p.id = ps.projectId AND viewer.id = @loginId
)
)
END
END;
GO
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
-- update ProjectSelectById proc - add approval status
ALTER PROC [dbo].[Project_SelectById]
@loginId int = null,
@id int
AS
BEGIN

IF EXISTS(SELECT 1 FROM Login WHERE id = @LoginId AND isAdmin = 1)
BEGIN
SELECT
p.id,
p.name,
p.address,
p.formInputs,
p.targetPoints,
p.earnedPoints,
p.projectLevel,
p.loginId,
p.calculationId,
p.dateCreated,
p.dateModified,
p.description,
l.firstName,
l.lastName,
p.droId,
p.adminNotes,
p.dateModifiedAdmin,
ph.dateCreated as dateHidden,
p.dateTrashed,
p.dateSnapshotted,
p.dateSubmitted,
p.approvalStatusId,
a.name as approvalStatusName,
l.email
FROM Project p
JOIN Login l ON p.loginId = l.id
LEFT JOIN ProjectHidden ph on p.id = ph.projectId AND ph.loginId = @loginId
LEFT JOIN ApprovalStatus a on p.approvalStatusId = a.id
WHERE p.id = @id;
END
ELSE
BEGIN
SELECT
p.id,
p.name,
p.address,
p.formInputs,
p.targetPoints,
p.earnedPoints,
p.projectLevel,
p.loginId,
p.calculationId,
p.dateCreated,
p.dateModified,
p.description,
l.firstName,
l.lastName,
p.droId,
p.adminNotes,
p.dateModifiedAdmin,
ph.dateCreated as dateHidden,
p.dateTrashed,
p.dateSnapshotted,
p.dateSubmitted,
p.approvalStatusId,
a.name as approvalStatusName,
l.email
FROM Project p
JOIN Login l ON p.loginId = l.id
LEFT JOIN ProjectHidden ph on p.id = ph.projectId AND ph.loginId = @loginId
LEFT JOIN ApprovalStatus a on p.approvalStatusId = a.id
WHERE p.id = @id AND
(
p.loginId = ISNULL(@loginId, p.loginId)
OR EXISTS
(
SELECT 1 from ProjectShare ps
JOIN Login viewer ON viewer.email = ps.email
WHERE p.id = ps.projectId AND viewer.id = @loginId
)
)
END
END;
GO
Loading