emidombek / uptowngallery

HTML, CSS, JavaScript, Python+Django based website for a small art gallery business deployed to Heroku
1 stars 2 forks source link

USER STORY: Admin User Account Control #20

Closed emidombek closed 8 months ago

emidombek commented 1 year ago

User Story

As an admin, I want to manage user accounts and their roles (buyer/seller, admin). So that I am able to control my website and permissions on it.

Acceptance Criteria:

  1. Acceptance Criteria 1:

As an admin, I have a dedicated admin dashboard accessible when logged in.

  1. Acceptance Criteria 2:

Within the admin dashboard, there is a section labeled "User Management" or "Manage Users."

  1. Acceptance Criteria 3:

The "User Management" section displays a list of all registered users on the website.

  1. Acceptance Criteria 4:

Each user entry includes the username, email address, user role (buyer, seller, admin), and registration date.

  1. Acceptance Criteria 5:

I can search for specific users by username or email address.

  1. Acceptance Criteria 6:

I have the ability to change the user role for any user directly from the user entry.

  1. Acceptance Criteria 7:

The available user roles are "buyer," "seller," and "admin."

  1. Acceptance Criteria 8:

When I change a user's role, the user's permissions are updated accordingly.

  1. Acceptance Criteria 9:

If I change a user's role to "seller," they gain the ability to list artworks for sale.

  1. Acceptance Criteria 10:

If I change a user's role to "admin," they gain access to the admin dashboard and its features.

  1. Acceptance Criteria 11:

If I change a user's role to "buyer," they have access to buyer-related features, such as bidding and purchasing.

  1. Acceptance Criteria 12:

I have the option to disable or enable user accounts as needed.

  1. Acceptance Criteria 13:

When I disable a user account, the user cannot log in or use the website until the account is re-enabled.

  1. Acceptance Criteria 14:

I can see a history of user role changes and account status changes for audit purposes.

  1. Acceptance Criteria 15:

I receive email notifications when a user registers a new account on the website.

  1. Acceptance Criteria 16:

The email notification includes the user's username and a link to the admin dashboard for further actions.

Tasks

emidombek commented 8 months ago

Alot of these things are already handled by django admin.