Exemplo n.º 1
0
    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}))
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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)