Ignore:
Timestamp:
3 Jul 2008, 00:02:46 (16 years ago)
Author:
hraban
Message:

display viewlets work, forms still don't

Location:
waeup/branches/hraban/src/waeup
Files:
1 added
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • waeup/branches/hraban/src/waeup/basecontainer.py

    r3557 r3558  
    11import grok
     2import os
    23from waeup.interfaces import IBaseContainer
    34from waeup.baseitem import BaseItem
    4 from waeup.viewlets import MainArea
     5from waeup.viewlets import MainArea, Edit
     6from zope.component import getMultiAdapter
    57
    6 class BaseContainer(BaseItem, grok.Container):
     8class BaseContainer(grok.Container):
    79    """
    810    The base container. This is a stub for now. It can have
     
    1921    """
    2022    grok.viewletmanager(MainArea)
    21     #grok.context(grok.interfaces.IContainer)
    22    
    23 class Add(grok.AddForm):
    24     #form_fields = grok.AutoFields(self.context.childClass)
    25 #DOESN'T WORK    grok.template("../basecontainer_templates/add.pt")
     23
     24class AddForm(grok.AddForm):
     25    #grok.template('edit_form')
     26    template = grok.PageTemplate(filename=os.path.join('basecontainer_templates', 'edit_form.pt'))
    2627
    2728    def update(self):
     
    2930        grok.AddForm.update(self)
    3031
    31     @grok.action('Add Item')
    32     def addItem(self, name, *args, **kw):
    33         item = self.context.childClass(name=name)
    34         self.context[name] = item
    35         self.redirect(self.url(item))
     32    @grok.action('Add item')
     33    def add(self, **data):
     34        obj = self.context.childClass(**data)
     35        name = data['name'].lower().replace(' ', '_')
     36        self.context[name] = obj
     37
     38class Add(grok.Viewlet):
     39    grok.viewletmanager(MainArea)
     40    #grok.template('edit_form')
     41    grok.context(IBaseContainer)
     42    grok.view(Edit)
     43
     44    def update(self):
     45        self.form = getMultiAdapter((self.context, self.request),
     46                                    name='addform')
     47        self.form.update_form()
     48
     49    def render(self):
     50        return self.form.render()
  • waeup/branches/hraban/src/waeup/basecontainer_templates/edit_form.pt

    r3557 r3558  
    11<form action="." tal:attributes="action request/URL" method="post"
    22      class="edit-form" enctype="multipart/form-data">
    3 
     3<!--
    44  <h2 i18n:translate=""
    55    tal:condition="view/label"
     
    2020    </ul>
    2121  </div>
     22-->
    2223
    2324  <div class="form-fields">
  • waeup/branches/hraban/src/waeup/baseitem.py

    r3557 r3558  
     1# baseitem.py
     2import os
    13import grok
    2 from waeup.viewlets import MainArea
     4from waeup.viewlets import MainArea, Edit
     5from waeup.interfaces import IBaseItem
     6from zope.component import getMultiAdapter
    37
    48class BaseItem(grok.Model):
     
    610    Base item
    711    """
    8 
    9 class Edit(grok.EditForm):
     12    grok.implements(IBaseItem)
    1013   
    11     def update(self):
    12         self.form_fields = grok.AutoFields(self.context.__class__)
    13         grok.EditForm.update(self)
    14 
    1514class Content(grok.Viewlet):
    1615    grok.viewletmanager(MainArea)
    17     #grok.context(grok.interfaces.IContainer)
     16    grok.context(IBaseItem)
    1817
     18
     19#class Edit(grok.EditForm):
     20#   
     21#    def update(self):
     22#        self.form_fields = grok.AutoFields(self.context.__class__)
     23#        grok.EditForm.update(self)
     24
     25
     26class AddForm(grok.AddForm):
     27    #grok.template('edit_form')
     28    template = grok.PageTemplate(filename=os.path.join('baseitem_templates', 'edit_form.pt'))
     29
     30    def update(self):
     31        self.form_fields = grok.AutoFields(self.context.childClass)
     32        grok.AddForm.update(self)
     33
     34    @grok.action('Add item')
     35    def add(self, **data):
     36        obj = self.context.childClass(**data)
     37        name = data['name'].lower().replace(' ', '_')
     38        self.context[name] = obj
     39
     40class Add(grok.Viewlet):
     41    grok.viewletmanager(MainArea)
     42    #grok.template('edit_form')
     43    grok.context(IBaseItem)
     44    grok.view(Edit)
     45
     46    def update(self):
     47        self.form = getMultiAdapter((self.context, self.request),
     48                                    name='addform')
     49        self.form.update_form()
     50
     51    def render(self):
     52        return self.form.render()
  • waeup/branches/hraban/src/waeup/baseitem_templates/content.pt

    r3545 r3558  
    1 <h1>Object <span tal:replace="context/name"></span></h1>
    2   <a href="" tal:attributes="href python:view.url(context.__parent__)">Up</a>
    3   <a href="" tal:attributes="href python:view.url(context, 'edit')">Edit</a>
     1<div class="menubar">
     2        <ul>
     3                <li><a href="" tal:attributes="href python:view.url(context.__parent__)">Up</a></li>
     4                <li><a href="" tal:attributes="href python:view.url(context, 'edit')">Edit</a></li>
     5        </ul>
     6</div>
     7<h2>Object <span tal:replace="context/name"></span></h2>
  • waeup/branches/hraban/src/waeup/docs/faq-staff-de.rst

    r3556 r3558  
    5757   Hochschulen selbst ausgeführt werden.
    5858
     59Zielgruppe des Portals
     60----------------------
     61
     62Es gibt in Nigeria über 350 Hochschulen, für die das Portal geeignet
     63wäre, davon ca. 200 "Fachhochschulen" mit 3000-10.000 Studenten und
     64150 Universitäten mit 20.000-70.000 Studenten.
     65
     66Im Prinzip lässt sich das System auch in allen anderen Ländern einsetzen,
     67wo es das Bachelor-/Master-Studiensystem gibt. Hierfür müssten allerdings
     68die Workflows und Zahlungsmodalitäten angepasst werden.
     69
    5970Geschäftsmodell
    6071---------------
     
    6273WAeUP bekommt einen Anteil an allen Zahlungen, die über das Portal
    6374abgewickelt werden, etwa 1,20 € pro Student und Jahr.
    64 Es gibt in Nigeria über 350 Hochschulen, für die das Portal geeignet
    65 wäre, davon ca. 200 "Fachhochschulen" mit 3000-10.000 Studenten und
    66 150 Universitäten mit 20.000-70.000 Studenten.
    6775
    6876Was ist der derzeitige Status?
  • waeup/branches/hraban/src/waeup/interfaces.py

    r3557 r3558  
    44#from zope.interface import Interface
    55from zope import schema
    6 
    7 class IUniversity(grok.interfaces.IContainer):
    8     """Representation of a university.
    9     """
    10     name = schema.TextLine(
    11         title = u'Name of University',
    12         default = u'Unnamed',
    13         required = True,
    14         )
    156
    167class IBaseContainer(grok.interfaces.IContainer):
     
    2112        )
    2213   
     14
     15class IBaseItem(IBaseContainer):
     16    pass
     17
     18class IUniversity(IBaseContainer):
     19    """Representation of a university.
     20    """
     21    name = schema.TextLine(
     22        title = u'Name of University',
     23        default = u'Unnamed',
     24        required = True,
     25        )
  • waeup/branches/hraban/src/waeup/static/app.css

    r3530 r3558  
    9999        border: 1px solid #005500;
    100100        border-bottom: none;
     101        margin-left: 0.5em;
    101102}
    102103
     
    108109        color: black;
    109110        text-decoration: none;
     111}
     112
     113.menubar ul li a:active {
     114        font-weight: bold;
    110115}
    111116
  • waeup/branches/hraban/src/waeup/students/interfaces.py

    r3557 r3558  
    33import grok
    44from zope import schema
     5from waeup.interfaces import IBaseItem
    56
    6 class IStudent(grok.interfaces.IContainer):
     7class IStudent(IBaseItem):
    78    """Representation of a student.
    89    """
  • waeup/branches/hraban/src/waeup/viewlets.py

    r3557 r3558  
    1414    def __init__(self, context, request):#
    1515        super(Index, self).__init__(context, request)
     16   
     17    def getSite(self):
     18        return grok.getSite()
     19
     20class Edit(Index):
     21    pass
    1622
    1723class Head(grok.ViewletManager):
     
    4147    grok.viewletmanager(Header)
    4248    grok.order(2)
    43    
    44     def getSite(self):
    45         return grok.getSite()
    4649
    4750class LeftSidebar(grok.ViewletManager):
  • waeup/branches/hraban/src/waeup/viewlets_templates/logo.pt

    r3557 r3558  
    1 <div id="logo">
     1<div id="logo" tal:define="app view/getSite">
    22    <img tal:attributes="src static/logo_waeup.gif" alt="WAeUp logo" />
    3     <h1 tal:content="context/name">Sample University</h1>
     3    <h1 tal:content="app/name">Sample University</h1>
    44</div>
  • waeup/branches/hraban/src/waeup/viewlets_templates/navigationbar.pt

    r3530 r3558  
    11<div id="adminbar" class="menubar"
    2     tal:define="app viewlet/getSite">
     2    tal:define="app view/getSite">
    33<!--    <ul>
    44                <tal:block  tal:repeat="menuitem view/menuitems">
Note: See TracChangeset for help on using the changeset viewer.