Changeset 4409


Ignore:
Timestamp:
21 Jul 2009, 14:51:19 (15 years ago)
Author:
uli
Message:

Make use of tables in university content views.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • waeup/branches/ulif-rewrite/src/waeup/app.py

    r4165 r4409  
    1212from waeup.datacenter import DataCenter
    1313from waeup.users import UserContainer
     14from waeup.widgets.interfaces import ITableProvider
     15from waeup.widgets.table import Table, Col, YUITable
    1416
    1517class University(grok.Application, grok.Container):
     
    9395                                 # be rendered in this viewlet.
    9496
     97class FacultyTableProvider(grok.Adapter):
     98    grok.context(IUniversity)
     99    grok.provides(ITableProvider)
     100
     101    def __init__(self, context):
     102        self.context = context
     103        data = self.context.faculties
     104        cols = (
     105            Col(
     106                header='Code', sortable=True,
     107                data = tuple(['<a href="faculties/%s">%s</a>' % (
     108                            data[x].code, data[x].code) for x in data])),
     109            Col(
     110                header='Prefix', sortable=True,
     111                data = tuple([data[x].title_prefix for x in data])),
     112            Col(
     113                header='Title', sortable=True,
     114                data = tuple([data[x].title for x in data])),
     115                )
     116        self.table = YUITable('Faculties', cols=cols)
     117
     118    def getTable(self):
     119        return self.table
     120   
    95121class Content(grok.Viewlet):
    96122    grok.viewletmanager(MainArea)
    97123    grok.context(IUniversity)
    98124    grok.view(Index)
     125
     126    def update(self):
     127        self.table = ITableProvider(self.context).getTable()
     128        self.table.need()
    99129
    100130class ManageLink(grok.Viewlet):
     
    141171    def render(self):
    142172        return u'<div class="portlet"><a href="datacenter">Data Center</a></div>'
    143 
Note: See TracChangeset for help on using the changeset viewer.