jakubfabian / topo

GNU General Public License v3.0
0 stars 0 forks source link

Grading System #37

Closed Loisel closed 8 years ago

Loisel commented 8 years ago

Implement a nice way to select the grading of a route.

Thoughts:

Any ideas?

datenhahn commented 8 years ago

How about that:

Allow users to input every type of grade (one number, one gradetype select), set a default on spot level, but always display the "native grade" (the grade type the user put into it) first. Have an automatic conversion of grades when the user selects a different representation (in "viewing" mode).

jakubfabian commented 8 years ago

I would like to have just one field.

As it is now it is simple to have it displayed and also compute mean values etc.

If we need to have a stripped down interface when creating new routes on a spot, we can just limit the form in the template or maybe even the forms.py allows that.

In the latter case, just do that like the way you did it earlier.... but with a single choices field in the model?

I love the idea that the model knows about possible choices rather than have a generic int....

On 09.10.2016 20:52, Loisel wrote:

Implement a nice way to select the grading of a route.

Thoughts:

  • Use choices, not "write what you want charfields".
  • Probably integer fields so that one can calculate something.
  • Narrow choices down to a grading system, otherwise list is very long.
  • Implement grading system on a spot level? Or are there spots with different grading systems for different walls? If so, is this rare?
  • If we make a quantization of difficulty to meet the fine-graining of all grading systems we can just implement labels for the choices in each grading system and we could easily switch the grading system. This was what I had in mind when I defined the grading system on the spot level.

Any ideas?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jakubfabian/topo/issues/37, or mute the thread https://github.com/notifications/unsubscribe-auth/AKzvv4HhU1h-ih8pUc5HVqHyUP5Ji4Vgks5qyTfWgaJpZM4KSE7T.

jakubfabian commented 8 years ago

Auto conversion between grades is difficult.... they do not really compare well

Loisel commented 8 years ago

Ok. What about this: We define a Grade on the model with a grade_system field. Then we can add a model choice field that uses a queryset

spot.route_set.filter(grade_system=spot.grade_system)

in the template. What do you think?

jakubfabian commented 8 years ago

Grade is now model choice field and RouteForms are filtered according to the spots grading system. I consider that done.