示例#1
0
    def table_totals(self, rownum, record, label, numrecords):
        row_hah = self.table_tr_styler(rownum, record)
        row_hah.class_ += 'totals'

        # get the <td>s for this row
        cells = []
        colspan = 0
        firstcol = True
        for col in self.grid.iter_columns('html'):
            if col.key not in list(self.grid.subtotal_cols.keys()):
                if firstcol:
                    colspan += 1
                else:
                    cells.append(_HTML.td(literal('&nbsp;')))
                continue
            if firstcol:
                bufferval = ngettext('{label} ({num} record):',
                                     '{label} ({num} records):',
                                     numrecords,
                                     label=label)
                buffer_hah = HTMLAttributes(
                    colspan=colspan,
                    class_='totals-label'
                )
                if colspan:
                    cells.append(_HTML.td(bufferval, **buffer_hah))
                firstcol = False
                colspan = 0
            cells.append(self.table_td(col, record))

        return self.table_tr_output(cells, row_hah)
示例#2
0
 def filtering_table_row(self, col):
     extra = getattr(col.filter, 'html_extra', {})
     return _HTML.tr(
         _HTML.th(self.filtering_col_label(col), class_='filter-label')
         + _HTML.td(self.filtering_col_op_select(col), class_='operator')
         + _HTML.td(
             _HTML.div(self.filtering_col_inputs1(col), class_='inputs1')
             + _HTML.div(self.filtering_col_inputs2(col), class_='inputs2')
         ),
         # Added _filter to address CSS collision with Bootstrap
         # Ref: https://github.com/level12/webgrid/issues/28
         class_=col.key + '_filter',
         **extra
     )
示例#3
0
        def options_td(col_num, i, item):
            if item.owner is True:
                return HTML.td("", class_="c{}".format(col_num))

            href = self.request.route_url(
                "admin_object_relation",
                object="resources",
                object_id=item.resource.resource_id,
                verb="DELETE",
                relation="group_permissions",
                _query={"perm_name": item.perm_name, "group_id": item.group.id},
            )
            delete_link = HTML.a(
                translate(_("Delete")), class_="btn btn-danger", href=href
            )
            return HTML.td(delete_link, class_="c{}".format(col_num))
示例#4
0
        def options_td(col_num, i, item):
            if item.owner is True:
                return HTML.td('', class_='c{}'.format(col_num))

            href = self.request.route_url('admin_object_relation',
                                          object='resources',
                                          object_id=item.resource.resource_id,
                                          verb='DELETE',
                                          relation='group_permissions',
                                          _query={
                                              'perm_name': item.perm_name,
                                              'group_id': item.group.id
                                          })
            delete_link = HTML.a(translate(_('Delete')),
                                 class_='btn btn-danger',
                                 href=href)
            return HTML.td(delete_link, class_='c{}'.format(col_num))
示例#5
0
 def options_td(col_num, i, item):
     href = self.request.route_url(
         "admin_object", object="users", object_id=item.id, verb="GET"
     )
     edit_link = HTML.a(translate(_("Edit")), class_="btn btn-info", href=href)
     delete_href = self.request.route_url(
         "admin_object", object="users", object_id=item.id, verb="DELETE"
     )
     delete_link = HTML.a(
         translate(_("Delete")), class_="btn btn-danger", href=delete_href
     )
     return HTML.td(edit_link, " ", delete_link, class_="c{}".format(col_num))
示例#6
0
 def options_td(col_num, i, item):
     href = self.request.route_url(
         'admin_object_relation',
         object='users',
         object_id=self.additional_kw['user'].id,
         verb='DELETE',
         relation='permissions',
         _query={'perm_name': item.perm_name})
     delete_link = HTML.a(translate(_('Delete')),
                          class_='btn btn-danger',
                          href=href)
     return HTML.td(delete_link, class_='c{}'.format(col_num))
示例#7
0
 def options_td(col_num, i, item):
     href = self.request.route_url(
         "admin_object_relation",
         object="users",
         object_id=self.additional_kw["user"].id,
         verb="DELETE",
         relation="permissions",
         _query={"perm_name": item.perm_name},
     )
     delete_link = HTML.a(
         translate(_("Delete")), class_="btn btn-danger", href=href
     )
     return HTML.td(delete_link, class_="c{}".format(col_num))
示例#8
0
 def options_td(col_num, i, item):
     href = self.request.route_url(
         "admin_object", object="users", object_id=item.id, verb="GET"
     )
     edit_link = HTML.a(translate(_("Edit")), class_="btn btn-info", href=href)
     href = self.request.route_url(
         "admin_object_relation",
         object="groups",
         object_id=self.additional_kw["group"].id,
         relation="users",
         verb="DELETE",
         _query={"user_id": item.id},
     )
     delete_link = HTML.a(
         translate(_("Delete")), class_="btn btn-danger", href=href
     )
     return HTML.td(edit_link, " ", delete_link, class_="c{}".format(col_num))
示例#9
0
 def options_td(col_num, i, item):
     edit_href = self.request.route_url('admin_object',
                                        object='groups',
                                        object_id=item.id,
                                        verb='GET')
     delete_href = self.request.route_url('admin_object',
                                          object='groups',
                                          object_id=item.id,
                                          verb='DELETE')
     edit_link = HTML.a(translate(_('Edit')),
                        class_='btn btn-info',
                        href=edit_href)
     delete_link = HTML.a(translate(_('Delete')),
                          class_='btn btn-danger',
                          href=delete_href)
     return HTML.td(edit_link,
                    ' ',
                    delete_link,
                    class_='c{}'.format(col_num))
示例#10
0
 def options_td(col_num, i, item):
     href = self.request.route_url('admin_object',
                                   object='users',
                                   object_id=item.id,
                                   verb='GET')
     edit_link = HTML.a(translate(_('Edit')),
                        class_='btn btn-info',
                        href=href)
     href = self.request.route_url(
         'admin_object_relation',
         object='groups',
         object_id=self.additional_kw['group'].id,
         relation='users',
         verb='DELETE',
         _query={'user_id': item.id})
     delete_link = HTML.a(translate(_('Delete')),
                          class_='btn btn-danger',
                          href=href)
     return HTML.td(edit_link,
                    ' ',
                    delete_link,
                    class_='c{}'.format(col_num))
示例#11
0
    def table_td(self, col, record):
        col_hah = HTMLAttributes(col.body.hah)

        # allow column stylers to set attributes
        for styler, cname in self.grid._colstylers:
            for_column = self.grid.column(cname)
            if col.key == for_column.key:
                styler(self.grid, col_hah, record)

        # extract the value from the record for this column and prep
        col_value = col.render('html', record, col_hah)

        # turn empty values into a non-breaking space so table cells don't
        # collapse
        if col_value is None:
            styled_value = literal('&nbsp;')
        elif isinstance(col_value, six.string_types) and col_value.strip() == '':
            styled_value = literal('&nbsp;')
        else:
            styled_value = col_value

        return _HTML.td(styled_value, **col_hah)
示例#12
0
 def registered_date_td(col_num, i, item):
     return HTML.td(
         item.registered_date.strftime("%Y-%m-%d %H:%M"),
         class_="c{}".format(col_num),
     )
示例#13
0
 def registered_date_td(col_num, i, item):
     return HTML.td(item.registered_date.strftime('%Y-%m-%d %H:%M'),
                    class_='c{}'.format(col_num))
示例#14
0
 def group_td(col_num, i, item):
     return HTML.td(item.group.group_name, class_='c{}'.format(col_num))
示例#15
0
 def translate_perm_td(col_num, i, item):
     if getattr(item, 'owner', None) is True:
         perm_name = translate(_('Resource owner'))
     else:
         perm_name = item.perm_name
     return HTML.td(perm_name, class_='c{}'.format(col_num))
示例#16
0
 def user_td(col_num, i, item):
     return HTML.td(item.user.user_name, class_='c{}'.format(col_num))
示例#17
0
 def options_td(self, col_num, i, item):
     u = url(
         "/tickets/view", ticket_id=item.id, y=self.additional_kw["context"]["y"]
     )
     a = link_to(item.options, u)
     return HTML.td(a)
示例#18
0
 def user_td(col_num, i, item):
     return HTML.td(item.user.user_name, class_="c{}".format(col_num))
示例#19
0
 def group_td(col_num, i, item):
     return HTML.td(item.group.group_name, class_="c{}".format(col_num))
示例#20
0
 def translate_perm_td(col_num, i, item):
     if getattr(item, "owner", None) is True:
         perm_name = translate(_("Resource owner"))
     else:
         perm_name = item.perm_name
     return HTML.td(perm_name, class_="c{}".format(col_num))