Kodall
Exercises

Exercise 7: Art Gallery

Rendering diagram...

Description

  • The property "name" in the table "exhibition_state" can have the values: "Planned", "Ongoing", "Completed".
  • In entity "exhibition_state", name represents the state that will be displayed on the screen, label represents the value that programmer will use to filter the states, and the uuid represents a value to distinguish the states.
  • Note: The value of the field "uuid" is generated automatically.

Tasks

  • artist/artwork/exhibition/exhibition_state/exhibition_artwork: Add, Edit, Delete.
    • When the exhibition is created, it will automatically become "Planned".
    • The field "Exhibition state" from entity "exhibition" will be read-only in edit view.
  • Create a catalog for entities: "exhibition_state", "exhibition", "artist" and "artwork".
  • check exhibition record availability (filtering exhibitions).
  • Create event listeners for tables that needs validations (e.g., adding an artist without a name, artwork without title, etc., should not be allowed).
  • In exhibition, calculate the total value of artworks:
    • Add a new search view called "Artworks Value".
  • Add a new entity action at the exhibition level "Cancel exhibition”:
    • It will change the exhibition status to "Canceled";
    • A exhibition cannot be canceled if it is in the "Completed" state → validation message;
    • A exhibition cannot be canceled if it is already in the "Canceled" state → validation message.
  • Add a new entity action at the artwork level "Initiate exhibition":
    • It can select multiple artworks;
    • After the initiation of the exhibition, the state will become from "Planned" → "Ongoing".
  • Add a new entity action at the exhibition level "Complete exhibition":
    • It can't be completed if it is "Planned" → validation message;
    • It can't be completed if it is "Canceled" → validation message;
    • If it is already in "Completed" state → validation message.
  • Artist report: exhibition situation at artist level (total number of exhibitions, artwork value).
  • Artwork report: exhibition situation at artwork level (total number of exhibitions, artwork value).