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

Implement Organization Supervisor View #4

Closed
NickDelta opened this issue Jan 10, 2021 · 0 comments · Fixed by #5
Closed

Implement Organization Supervisor View #4

NickDelta opened this issue Jan 10, 2021 · 0 comments · Fixed by #5
Assignees
Labels
feature This issue implements a functional requirement

Comments

@NickDelta
Copy link
Owner

NickDelta commented Jan 10, 2021

Πρέπει να υλοποιηθεί το view που θα βλέπει ο/η Organization Suervisor όταν θα μπαίνει στο σύστημα.

Ας γίνει μια μικρή τεχνική ανάλυση που φανερώνει και τα ζητούμενα:

Οι supervisors απλά διαχειρίζονται τον κατάλογο χρηστών των υπάλληλων του οργανισμό στο οπόιο εργάζεται. Το Use Case μοιάζει με το User Management κομμάτι του #1 με τη διαφορά ότι ο/η supervisor δεν έχει πρόσβαση σε όλους τους οργανισμούς. Πρέπει να παίρνεις την πληροφορία του σε ποιον οργανισμό έχει δικαίωμα management από το token του και να το προωθείς στο Repository σου για να γίνει το σωστό αίτημα στο Custom Organization REST API μας το όποιο περιγράφεται στο NickDelta/hermes-keycloak-image#4 και επίσης έχεις παράδειγμα χρήσης από το #1.

  • Οπότε πρέπει να φτιάξεις ένα OrganizationEmployeesRepository interface και ένα Impl του interface αυτού. Οι μέθοδοι του interface αυτού πρέπει να καλύπτουν το βασικό CRUD. Σχολίασε σε αυτό το issue το interface σου όταν το φτιάξεις για να δω αν είσαι στον σωστό δρόμο.

Πάμε σε πιο Vaadin-specific πράγματα:

  • Θα χρησιμοποιήσεις το CRUD Component για να φτιάξεις το view σου. Από εκεί και πέρα θα χρειαστεί:
    - Να κάνεις @Autowired το CrudEditor<UserRepresentation bean για να πάρεις έτοιμη τη φόρμα των χρηστών. Το Implement Organizations Administrator Views #1 δίνει περισσότερες λεπτομέρειες για το σκεπτικό πίσω από αυτό.
    - Να δέσεις το Grid του CRUD Component με το UserRepresenation entity του Keycloak (απλά κάνε copy-paste το κατάλληλο μέρος από το PR μου Implements Organizations Administrator Views  #2)
    - Να φτιάξεις έναν OrganizationEmployeeCrudPresenter που θα δένει το View με το Repository (για Error Handling κυρίως)
    - Στο view να δέσεις τον Presenter με τους διάφορους listeners.

  • Το @Route σου θα έχει τη διαδρομή /organizations/employees και αν καταφέρεις να χώσεις και ένα δυναμικό /{organization} ανάλογα με το που εργάζεται το άτομο που έχει πρόσβαση στο view θα είσαι αστέρι.

  • Το View θα ονομάζεται OrganizationSupervisorView

  • Μην ξεχάσεις να ασφαλίσεις το View σου. Ο ρόλος του/της supervisor είναι ο ROLE_ORG_SUPERVISOR

Αυτή η δουλεία είναι σχετικά εύκολη γιατί έχει αρκετές ομοιότητες με το #1 , οπότε περιμένω να παραδωθεί σχετικά γρήγορα.

@NickDelta NickDelta added the feature This issue implements a functional requirement label Jan 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue implements a functional requirement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants