Exemplo n.º 1
0
def monitoring():
    if not g.user.editor:
        redirect('/')

    users = User.objects(editor=False)
    exercises = Exercise.objects()
    progress = {user: {p.exercise: p for p in ExerciseProgress.objects(user=user)} for user in users}

    breadcrumbs = [('Home', '/'), ('Monitoring', None)]
    return render_template('monitoring.html', users=users, exercises=exercises, progress=progress, breadcrumbs=breadcrumbs)
Exemplo n.º 2
0
def search_words():
    words = request.json['words']
    tags = request.json['tags'].split()
    words = words.lower()
    find = [words] + words.split()
    if tags == [] :
        exercises = Exercise.objects
    else :
        exercises = Exercise.objects(tags__in=tags)
    try:
        user_id = g.user.id
    except:
        user_id = None
    found = set([e for e in exercises for w in find if w in e.title.lower() or w in e.description.lower()])
    found = [f.to_dict() for f in found if f.published or f.author.id == user_id]
    return jsonify(ok=True, result=found, user=user_id)
Exemplo n.º 3
0
def get_occurences():
    occurrences = []
    tags = list(set(t for e in Exercise.objects(published=True) for t in e.tags))
    for t in tags :
        occurrences.append(str(len(Exercise.objects(tags=t,published=True))))
    return jsonify(ok=True, tags=tags, occurrences=occurrences)