gardan / eduali

HRM dashboard for ILC
1 stars 0 forks source link

Dynamic interviews #85

Closed imaximix closed 10 years ago

imaximix commented 10 years ago

Interview windows should be generated dynamically based on the selected grading system.

imaximix commented 10 years ago

The TrainingSystem should have a List of Attributes. With a simple string Name property.

These will be generated by the user.

imaximix commented 10 years ago

The training should always have the same attributes. And given that the Attributes can change at any time. We should hold a list of all the Attributes that the training has.

imaximix commented 10 years ago

The problem is: how are gonna let the user choose which attributes?

  1. Change the create training UI, and make him choose from a list of attributes. ( don't like this because api needs to change )
  2. When creating a training, just pick all the (enabled) attributes, and make them editable afterwords. ( this i really like, because no api change is needed )
imaximix commented 10 years ago

In regards to solution nr. 2. How should the update of these attributes work? Just PUT to /api/trainings/{id}, or something more clean? like another endpoint?

Maybe something like POST /api/training/{id}/gradingAttributes

{
    gradingAttributes: [
        {
            id: 1
        },
        {
            id: 2
        }
    ]
}

And also DELETE /api/training/{id}/gradingAttributes/{gradingAttributeId}

imaximix commented 10 years ago

And this should only be editable if the training has not yet reached a status that does not require use of these new attributes, like the interview or assessment.

This should be a requirement because if the user edits these attributes. We could end up with different interview versions, some with the old attributes and some with the new ones.