INET 2005 WEB APPLICATION DEVELOPMENT I
Phase 4 Requirements – Site Enhancement – Theme Management and Display
REQ-001 MODIFICATION OF DATABASE WITH NEW MIGRATION
A new modified ERD (in Brightspace) has added a new table to the database layout called themes. The new themes table will store information about a list of themes that will be available on the site.
• Generate the new migration for the themes table along with the accompanying Model and Controller. -cmr
• Seed the new table with a selection of themes of your choosing from the Bootswatch CDN list of themes.
Once you have completed creating and seeding your new table based on the ERD, use MySQL Workbench to reverse engineer your database so that it generates an ERD diagram that looks similar to the provided ERD document.
REQ-002 CREATE REQUIRED PAGES TO MANAGE THEMES
This theme management admin page should do the following:
1- List all themes in the application.
2- Displays a button labeled “Create New Theme”
3- Provides actions to Show, Edit and Delete themes.
a. Provide the pages to Show, Create and Update themes.
b. Deleting themes should be accomplished via a “Soft Delete”. (Similar to deleting Users)
c. All fields in all forms should present appropriate validation.
At the end of this requirement, you should have the following admin functionality created in your app:
– A themes admin page that lists all users and provides buttons to perform required actions on users. (Show, Edit, Delete)
– A create theme page that provides fields for creating a new theme.
– An edit page that allows modifications to an existing theme.
– The capability to delete a theme via Soft Deleting
– All applicable pages should provide basic validation functionality to maintain valid data.
Themes list page
Themes details page (show)
Create new Theme page (create)
Edit Theme page (edit)
REQ-003 ADD NECESSARY MIDDLEWARE TO PREVENT UNAUTHORIZED ACCESS TO THEME ADMINISTRATION PAGES
Create and implement a Laravel Middleware which checks whether or not the currently authenticated user has been assigned the Theme Manager role. (Note: there is already an existing Middleware which checks where the user is authenticated)
If the user is deemed not to have the required role, then the user should be redirected back to the previous page from where they came, and a Session Flash message should be displayed informing the user that they do not have access to the requested page.
REQ-004 DISPLAY ADMINISTRATION LINKS IN NAVBAR
For users who have been assigned the Theme Manager role, a link should be displayed in the Navigation bar next to the logged in user’s name which will take the user to the Theme Manager’s admin page. This link should only be displayed for Theme Managers.
REQ-005 ADD THEME SWITCHING FUNCTIONALITY
All users will be presented with a dropdown in the Navigation Bar of the application. The list is dynamically filled with data from the themes table.
When a user selects a theme, the current page is reloaded with the selected Bootstrap theme applied. All subsequent pages will apply the selected theme until another theme is selected from the dropdown list.
• Selecting a theme from the dropdown causes the id of the selected theme to be stored in a cookie. This cookie is subsequently read by every page load in the application and the current theme is loaded into the page.
• Users should not have to be logged in in order to change their theme.
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: [email protected] 微信:itcsdx