def _rows_to_table_link_events(self, row): """ Returns 'yes' if a teacher teaches workshops and no if otherwise """ from os_gui import OsGui os_gui = OsGui() T = current.T if row.teaches_workshops: label = os_gui.get_label('success', T('Yes')) else: label = os_gui.get_label('default', T('No')) return A(label, _href=URL('teaches_events', vars={'uID':row.id}))
def _rows_to_table_link_group(self, row): """ This function returns the group a user belongs to and shows it as a link to a page which allows users to change it. """ from os_gui import OsGui os_gui = OsGui() T = current.T db = current.db no_group = A(os_gui.get_label('default', T('No group')), _href=URL('school_properties', 'account_group_add', args=[row.id])) if row.id == 1: ret_val = os_gui.get_label('info', "Admins") else: # check if the user had a group if db(db.auth_membership.user_id == row.id).count() > 0: # change group query = (db.auth_membership.user_id == row.id) left = [ db.auth_group.on( db.auth_group.id == db.auth_membership.group_id) ] rows = db(query).select(db.auth_group.ALL, db.auth_membership.ALL, left=left) for query_row in rows: role = query_row.auth_group.role if 'user' not in role: ret_val = A(os_gui.get_label('info', role), _href=URL( 'school_properties', "account_group_edit", args=[query_row.auth_membership.id])) else: # no group added yet ret_val = no_group else: # no group added yet ret_val = no_group return ret_val
def list_formatted(self, status, limitby): """ :return: HTML table of available sub teachers """ from os_gui import OsGui T = current.T db = current.db os_gui = OsGui() table = TABLE(_class='table table-hover') table.append( THEAD( TR( # TH(), TH(T('Date')), TH(T('Start')), TH(T('Location')), TH(T('Class Type')), TH(T('Sub teacher')), TH(), # actions)) ))) left = [ db.classes_otc.on( db.classes_otc_sub_avail.classes_otc_id == db.classes_otc.id), db.classes.on(db.classes_otc.classes_id == db.classes.id) ] if status == 'pending': query = (db.classes_otc_sub_avail.Accepted == None) else: query = ((db.classes_otc_sub_avail.Accepted == True) | (db.classes_otc_sub_avail.Accepted == False)) rows = db(query).select(db.classes_otc_sub_avail.ALL, db.classes_otc.ALL, db.classes.ALL, left=left, limitby=limitby, orderby=db.classes_otc.ClassDate | db.classes_otc.Starttime) for i, row in enumerate(rows): repr_row = list(rows[i:i + 1].render())[0] if row.classes_otc_sub_avail.Accepted == True: status = os_gui.get_label('success', T("Accepted")) elif row.classes_otc_sub_avail.Accepted == False: status = os_gui.get_label('danger', T("Declined")) else: status = os_gui.get_label('primary', T("Pending")) button = os_gui.get_button( 'ok_notext', URL('sub_avail_accept', vars={'cotcsaID': row.classes_otc_sub_avail.id}), title='Accept', _class='pull-right', btn_class='btn-success') button += os_gui.get_button( 'cancel_notext', URL('sub_avail_decline', vars={'cotcsaID': row.classes_otc_sub_avail.id}), title='Decline', _class='pull-right', btn_class='btn-danger') tr = TR(TD(repr_row.classes_otc.ClassDate), TD(repr_row.classes.Starttime), TD(repr_row.classes.school_locations_id), TD(repr_row.classes.school_classtypes_id), TD(repr_row.classes_otc_sub_avail.auth_teacher_id), TD(status), TD(button)) table.append(tr) return dict(table=table, rows=rows)