New feature: if work is mastered is shown for active user by checkbox

This commit is contained in:
2023-11-10 21:47:36 +01:00
parent f42857eb56
commit 127e2294e5

View File

@@ -61,8 +61,13 @@ class Session:
is_mastered = True is_mastered = True
return is_mastered return is_mastered
def work_is_mastered(self, work): def percentage_of_work_is_mastered(self, work): # work, not work_id, as a work-object is created anyway when there's need to check
pass number_of_movements = len(work.values['movements'])
count_mastered = 0
for key in work.values['movements']:
if self.movement_is_mastered(work.id(), key):
count_mastered += 1
return int(count_mastered / number_of_movements * 100)
def create_new_user(self, arguments): def create_new_user(self, arguments):
first_name, name = arguments[0], arguments[1] first_name, name = arguments[0], arguments[1]
@@ -166,6 +171,13 @@ class Session:
list_of_works.append(work_under_id(item[0], self.db_agent)) list_of_works.append(work_under_id(item[0], self.db_agent))
fun_resultstring = '' fun_resultstring = ''
for work in list_of_works: for work in list_of_works:
mastered = self.percentage_of_work_is_mastered(work)
if mastered == 100:
fun_resultstring += '[x] '
elif mastered > 0:
fun_resultstring += '[/] '
else:
fun_resultstring += '[ ] '
fun_resultstring += f'{work.id()}: {work.pretty_string()}\n' fun_resultstring += f'{work.id()}: {work.pretty_string()}\n'
return fun_resultstring return fun_resultstring