Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Remove Project from Group #1083

Open
PeterBreen opened this issue Jan 4, 2024 · 4 comments · May be fixed by #1091
Open

Feature: Remove Project from Group #1083

PeterBreen opened this issue Jan 4, 2024 · 4 comments · May be fixed by #1091
Assignees
Labels
Full Stack Both front- and back-end work required

Comments

@PeterBreen
Copy link
Collaborator

PeterBreen commented Jan 4, 2024

This feature allows for group owners to manage the projects associated with their group, specifically removing projects from a group. This will be accessible both from an individual project page and from a new Participating Projects page.

Requirements

The design specification and functional requirements are at this figma link which has wireflows, mockups, and a final design. However, to summarize:

  • create a new Participating Projects page for each group, which should resolve at /groups/manage/groupID (this matches the schema for editing or creating a group) -- this will be very similar to the "My Projects" page, except for a group instead of an individual.
  • conditional rendering of buttons for group owners (don't let non-owners see or take these actions) on My Groups and individual project pages, which take you to the new Participating Projects page. See various uses of isOwner. Note the tricky bit will be a group owner being able to see this button on project pages they don't own.
    • Specifically, a group owner, group co-owner, or site admins should be able to see these buttons / take these actions on the appropriate pages.
  • on remove, a message modal allowing a group owner to explain why they're removing a project followed by a removal confirmation modal, like ConfirmationModal.jsx
  • create a deletion API function and on confirmation in the step above, submit an api request to remove the project from the group, perform any needed recaching (in GroupAPIUtils)
  • After the project has been removed from the group, send an email using the message information collected in the modal above using the dlab email template in emails.py

Aside from creating a new page, all of these other items are things dlab does elsewhere on the site/in the code. Hopefully extending or adapting those features is straightforward. If not, please reach out for assistance and I'll try to point you in the right direction.

Style information

The style information shown in the figma document is from the DemocracyLab Design System. It should be as simple as using the correct HTML tags and style is applied. However, the DS implementation on the live site is not complete, so you may run into inconsistencies. If you do, please make note of them so we can get them fixed in a future issue. Fonts and buttons should be correct, but other elements may not be.

For buttons, use these variant names:

  • Primary Button: variant="primary"
  • Secondary Button: variant="outline-secondary"
  • Tertiary Button: variant="ghost"
  • Destructive Button: variant="outline-destructive"

Questions?

If you have questions or need clarification, please post in #f-removing_project_from_group on our slack. The designers of this feature and I are in there, and we'll all be able to see and respond to questions so everyone can stay informed.

@PeterBreen PeterBreen added the Full Stack Both front- and back-end work required label Jan 4, 2024
@QuanGiap
Copy link
Collaborator

QuanGiap commented Jan 8, 2024

Hi @PeterBreen, Can I work on this feature?

@ddfridley
Copy link
Collaborator

@QuanGiap Hi, I'm helping with development focus for DemocarcyLab. We've created a DemocracyLab Dashboard and would like to update the status of this issue.

  • Are you still working on it? If so, what are the next steps, or what challenges are there to moving forward?
  • Or is this still an issue/should we close it?
  • Or, if you just aren't available to work on it anymore, please let me know, and/or unassign yourself
  • Or something else?

Thanks.

@QuanGiap
Copy link
Collaborator

@QuanGiap Hi, I'm helping with development focus for DemocarcyLab. We've created a DemocracyLab Dashboard and would like to update the status of this issue.

  • Are you still working on it? If so, what are the next steps, or what challenges are there to moving forward?
  • Or is this still an issue/should we close it?
  • Or, if you just aren't available to work on it anymore, please let me know, and/or unassign yourself
  • Or something else?

Thanks.

Hi @ddfridley I have finished the task and created the pull request. It still waiting for the preview. Peter said he would review the request.

Thank for asking.

@ddfridley
Copy link
Collaborator

Thanks. I've linked this issue to PR #1091 and moved it into the needs review column.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Full Stack Both front- and back-end work required
Projects
Status: Needs review
3 participants