Skip to content
Snippets Groups Projects
Select Git revision
  • c61daa81392c15b41fdc0cfb81b76a4f4adf68a8
  • master default protected
  • intros
  • live_sources
  • bootstrap4
  • modules
6 results

cutprogress.py

Blame
  • Forked from Video AG Infrastruktur / website
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    cutprogress.py 1.87 KiB
    from server import *
    from datetime import time
    
    @register_navbar('Schnittfortschritt User', icon='spinner', iconlib='fa', userendpoint=True, endpoint='cutprogress_user')
    @register_navbar('Schnittfortschritt', icon='spinner', iconlib='fa')
    @app.route('/internal/cutprogress', endpoint="cutprogress")
    @app.route('/internal/user/<int:user>/cutprogress', endpoint='cutprogress_user')
    @mod_required
    def cutprogress(user=None):
    	allsemester = query('SELECT DISTINCT semester from courses ORDER BY semester DESC');
    	semester = request.values.get('semester', allsemester[0]['semester'])
    	coursesraw = query('SELECT courses.id, courses.handle, courses.short FROM courses WHERE semester = ?', semester)
    	courses = []
    	maxlecturecount = 0
    	for course in coursesraw:
    		course['lectures'] = query('SELECT lectures.title, lectures.time, lectures.id FROM lectures WHERE lectures.course_id= ? AND NOT lectures.deleted AND NOT lectures.norecording ORDER BY lectures.time', course['id'])
    		for lecture in course['lectures']:
    			lecture['videos'] = query('SELECT videos.path, formats.description as formatdesc, videos.visible FROM videos JOIN formats ON (videos.video_format = formats.id) WHERE videos.lecture_id = ? AND NOT videos.deleted', lecture['id'])
    		course['responsible'] = query('''SELECT users.*
    				FROM responsible
    				JOIN users ON (responsible.user_id = users.id AND responsible.course_id = ?)
    				ORDER BY users.realname ASC''', course['id'])
    		if len(course['responsible']) == 0:
    			course['responsible'] = [{"realname": "Niemand", "id": -1}]
    		if not user or user in [ r['id'] for r in course['responsible'] ]:
    			courses.append(course)
    			maxlecturecount = max(len(course['lectures']),maxlecturecount)
    	return render_template('cutprogress.html', allsemester=allsemester, semester=semester, courses=courses, maxlecturecount=maxlecturecount, user=query('SELECT * FROM users WHERE id = ?', user)[0] if user else None)