Ejemplo n.º 1
0
class SimpleTitleElement(Table):
    def __init__(self, title, **attributes):
        Table.__init__(self, **attributes)
        self.row = TableRow()
        self.cell = TableCell()
        self.set(self.row)
        self.row.set(self.cell)
        self.h1 = Header(level=1)
        self._font = Font(color='gold')
        self.cell.set(self.h1)
        self.h1.set(self._font)
        self.set_title(title)

    def set_font(self, **attributes):
        self._font.attributes.clear()
        self._font.attributes.update(attributes)

    def set_title(self, title):
        self._title = title
        self._font.set(self._title)

    # use this to make action links to the right of the title
    def create_rightside_table(self):
        self._rstable = Table(border=0)
        self.row.append(TableCell(self._rstable, align='right'))

    def append_rightside_anchor(self, anchor):
        row = TableRow()
        self._rstable.append(row)
        cell = TableCell(align='right', rowspan=1)
        row.set(cell)
        font = Font(color='gold')
        cell.set(font)
        font.set(anchor)
Ejemplo n.º 2
0
 def append_rightside_anchor(self, anchor):
     row = TableRow()
     self._rstable.append(row)
     cell = TableCell(align='right', rowspan=1)
     row.set(cell)
     font = Font(color='gold')
     cell.set(font)
     font.set(anchor)
Ejemplo n.º 3
0
    def _set_generic_entity(self, entity):
        db = self.app.db
        # edata = db.get(entityid)
        # main = edata['main']
        # extras = edata['extras']
        # tags = edata['tags']

        # set name and main action links
        name = TableHeader(str(entity.name), colspan=2, align="center")
        name_row = TableRow(name)
        self.set(name_row)
        edit_anchor = Anchor("(edit)", href=myurl.make("edit", "entity", str(entity.entityid)))
        delete_anchor = Anchor("(delete)", href=myurl.make("delete", "entity", str(entity.entityid)))
        cell = TableCell(edit_anchor)
        self.append(TableRow(cell))
        cell = TableCell(delete_anchor)
        self.append(TableRow(cell))

        # set type
        cell = TableCell("type:  %s" % str(entity.type), colspan=2)
        self.append(TableRow(cell))

        # extra fields
        if entity.extfields:
            self.append(TableRow(TableCell(Bold("Extra Fields"))))
            for field in entity.extfields:
                label = str("%s:  %s" % (field, str(entity.extfields[field].value)))
                cell = TableCell(label)
                self.append(TableRow(cell))

        # back to main data
        if entity.url:
            urlanchor = Anchor("url", href=str(entity.url))
            self.append(TableRow(TableCell(urlanchor, colspan=2)))
        if entity.desc:
            self.append(TableRow(TableCell(Bold("Description"), colspan=2)))
            desc = Paragraph(str(entity.desc))
            cell = TableCell(desc)
            self.append(TableRow(cell, colspan=2))

        # handle tags
        tagrow = TableRow()
        tagrow.append(TableCell(Bold("Tags"), colspan=2))
        span = Span(style="font-size: xx-small")
        add_anchor = Anchor("(add)", href=myurl.make("addtag", "entity", str(entity.entityid)))
        del_anchor = Anchor("(remove)", href=myurl.make("deltag", "entity", str(entity.entityid)))
        span.set(add_anchor)
        span.append(del_anchor)
        cell = TableCell(span, colspan=2)
        tagrow.append(cell)
        self.append(tagrow)
        for tag in entity.tags:
            row = TableRow()
            cell = TableCell(str(tag.tagname))
            row.set(cell)
            self.append(row)
Ejemplo n.º 4
0
 def set_info_manually(self, guests):
     for row in guests:
         table = GuestTable(self.app)
         table.set_info(row['guestid'])
         cell = TableCell(table)
         trow = TableRow(cell)
         self.maintable.append(trow)
         splitrow = TableRow(bgcolor='Blue')
         splitrow.set(TableCell(bgcolor='Blue'))
         self.maintable.append(splitrow)
Ejemplo n.º 5
0
 def set_info(self):
     guests = self.app.guests.get_guest_rows()
     for row in guests:
         table = GuestTable(self.app)
         table.set_info(row['guestid'])
         cell = TableCell(table)
         trow = TableRow(cell)
         self.maintable.append(trow)
         splitrow = TableRow(bgcolor='Blue')
         splitrow.set(TableCell(bgcolor='Blue'))
         self.maintable.append(splitrow)