Changeset 295 for WAeUP_SRP/trunk


Ignore:
Timestamp:
13 Jul 2006, 11:37:54 (18 years ago)
Author:
joachim
Message:

=Courses and Certificates Folder added

Location:
WAeUP_SRP/trunk
Files:
1 added
12 edited
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/Academics.py

    r290 r295  
    7171                logger.info('Faculty with ID %(FacultyCode)s %(Description)s already exists' % faculty)
    7272                no_import.write('"%(Session)s","%(FacultyCode)s","%(Description)s","%(CollegeCode)s","%(FacultyKey)s","%(Status)s","%(degree_grade)s","%(Bankcode)s"\n' % faculty)
     73        return self.academics.temporary_view_all()
    7374        return self.getContent().temporary_view_all()
    7475    ###)
     
    126127                d = getattr(f,did,None)
    127128                if d is None or d.portal_type == "Faculty":
    128                     #self.log('Creating Department %(DeptCode)s = %(Description)s' % dep)
    129129                    logger.info('Creating Department %(DeptCode)s = %(Description)s' % dep)
    130130                    f.invokeFactory('Department', did)
    131131                    d = getattr(f,did)
    132                 dict = {'Title': dep['Description']}
    133                 d.getContent().edit(mapping=dict)
     132                    dict = {'Title': dep['Description']}
     133                    d.getContent().edit(mapping=dict)
     134                    d.invokeFactory('CoursesFolder','Courses')
     135                    courses = getattr(d,'Courses')
     136                    dict = {'Title': 'Courses'}
     137                    courses.getContent().edit(mapping=dict)
     138                    d.invokeFactory('CertificatesFolder','Certificates')
     139                    certificates = getattr(d,'Certificates')
     140                    dict = {'Title': 'Certificates'}
     141                    certificates.getContent().edit(mapping=dict)
    134142        return self.academics.temporary_view_all()
    135143        return self.temporary_view_all()
     
    190198##                logger.info("invalid course_code %(course_id)s renaming to %(tid)s" % vars())
    191199##                course_id = tid
    192             elif len(course_id) != 6:
     200            elif len(course_id) > 7:
    193201                logger.info("invalid course_code %(CourseCode)s" % course)
    194202                if not no_import:
     
    198206                no_import.write('"%(CourseCode)s","%(Description)s","%(Credits)s","%(Dept)s","%(Semester)s","%(Session)s","%(PassMark)s","%(CourseKey)s","%(Category)s","%(AdmStatus)s"\n' % course)
    199207                continue
    200             c = getattr(dept,course_id,None)
     208            courses = dept.Courses
     209            c = getattr(courses,course_id,None)
    201210            if c is None:
    202211                logger.info('Creating Course %(CourseCode)s  %(Description)s in Department %(Dept)s' % course)
    203                 dept.invokeFactory('Course', course_id)
    204                 c = getattr(dept,course_id)
     212                courses.invokeFactory('Course', course_id)
     213                c = getattr(courses,course_id)
    205214            dict = {'Title': course['Description']}
    206215            dict['code'] = course_id
     
    265274            certificate_id = "%(category)s_%(Admstatus)s_%(Dept)s" % certificate
    266275            dep = deps[depid]
    267             c = getattr(dep,certificate_id,None)
     276            certificates = dep.Certificates
     277            c = getattr(certificates,certificate_id,None)
    268278            if c is None:
    269279                #self.log('Creating Department %(DeptCode)s = %(Description)s' % dep)
    270280                logger.info('Creating certificate %(CertCode)s  %(Description)s in Department %(Dept)s' % certificate)
    271                 dep.invokeFactory('Certificate', certificate_id)
    272                 c = getattr(dep,certificate_id)
     281                certificates.invokeFactory('Certificate', certificate_id)
     282                c = getattr(certificates,certificate_id)
    273283            dict = {'Title': certificate['Description']}
    274284            code = certificate.get('CertCode')
     
    382392                    no_import = open("%s/import/%s_not_imported.csv" % (i_home,name),"w")
    383393                    no_import.write('"CosCode","CertCode","CoreKey","Session","Level","Core","Elective","Mandatory","AdmStatus","Dept","Semester"\n')
    384                 no_import.write('Duplicate %(CosCode)s in Level %(Level)s' % cert_course)
    385                 no_import.write('"%(CosCode)s","%(CertCode)s","%(CoreKey)s","%(Session)s","%(Level)s","%(Core)s","%(Elective)s","%(Mandatory)s","%(AdmStatus)s","%(Dept)s","%(Semester)s"\n' % cert_course)
     394##                no_import.write('Duplicate %(CosCode)s in Level %(Level)s' % cert_course)
     395##                no_import.write('"%(CosCode)s","%(CertCode)s","%(CoreKey)s","%(Session)s","%(Level)s","%(Core)s","%(Elective)s","%(Mandatory)s","%(AdmStatus)s","%(Dept)s","%(Semester)s"\n' % cert_course)
    386396                continue
    387397            semester.invokeFactory('CertificateCourse',course_code)
     
    399409                dict['core_or_elective'] = False
    400410            dict['level'] = cert_course.get('Level')
    401             cc.academics.edit(mapping=dict)
     411            cc.getContent().edit(mapping=dict)
     412        return self.academics.temporary_view_all()
    402413    ###)
    403414
     
    535546    """Add a Department."""
    536547    ob = Department(id, **kw)
    537     return CPSBase_adder(container, ob, REQUEST=REQUEST)
     548    id = object.getId()
     549    container._setObject(id, object)
     550    dep = getattr(container,id)
     551    dep.invokeFactory('CoursesFolder','Courses')
     552    dep.invokeFactory('CertificatesFolder','Certificates')
     553    if REQUEST is not None:
     554        url = container.absolute_url()
     555        REQUEST.RESPONSE.redirect('%s/manage_main' % url)
    538556###)
    539557
  • WAeUP_SRP/trunk/Widgets.py

    r204 r295  
    11#-*- mode: python; mode: fold -*-
     2
     3from cgi import escape
     4
    25from Globals import InitializeClass
    36##from Products.CPSSchemas.Widget import CPSWidgetType
    4 from Products.CPSSchemas.BasicWidgets import CPSStringWidget, CPSEmailWidget
     7from Products.CMFCore.utils import getToolByName
     8from Products.CPSSchemas.BasicWidgets import CPSWidget, CPSStringWidget, CPSEmailWidget
     9from Products.CPSSchemas.BasicWidgets import renderHtmlTag,CPSSelectWidget, CPSStringWidget
    510from Products.CPSSchemas.ExtendedWidgets import CPSDateTimeWidget
    611from Products.CPSSchemas.Widget import widgetRegistry
     
    1217
    1318from zLOG import LOG, DEBUG
     19
     20class CPSSelectWidgetForRecord(CPSSelectWidget): ###(
     21    """Select widget. with record names"""
     22    meta_type = 'Select Widget for Records'
     23
     24    field_types = ('CPS String Field',)
     25    field_inits = ({'is_searchabletext': 1,},)
     26
     27    _properties = CPSSelectWidget._properties + (
     28        {'id': 'record_id', 'type': 'string', 'mode': 'w',
     29         'label': 'Record Id', 'is_required' : 1},
     30        )
     31
     32    def render(self, mode, datastructure, **kw):
     33        """Render in mode from datastructure."""
     34        value = datastructure[self.getWidgetId()]
     35        vocabulary = self._getVocabulary(datastructure)
     36        portal = getToolByName(self, 'portal_url').getPortalObject()
     37        cpsmcat = portal.translation_service
     38        if mode == 'view':
     39            if self.translated:
     40                return escape(cpsmcat(vocabulary.getMsgid(value, value)).encode('ISO-8859-15', 'ignore'))
     41            else:
     42                return escape(vocabulary.get(value, value))
     43        elif mode == 'edit':
     44            html_widget_id = self.getHtmlWidgetId()
     45            res = renderHtmlTag('select',
     46                                name='%s.%s:records' % (self.record_id,html_widget_id),
     47                                id=html_widget_id)
     48            in_selection = 0
     49            for k, v in vocabulary.items():
     50                if self.translated:
     51                    kw = {'value': k,
     52                          'contents': cpsmcat(vocabulary.getMsgid(k, k)).encode('ISO-8859-15', 'ignore')
     53                          }
     54                else:
     55                    kw = {'value': k, 'contents': v}
     56                if value == k:
     57                    kw['selected'] = 'selected'
     58                    in_selection = 1
     59                res += renderHtmlTag('option', **kw)
     60            if value and not in_selection:
     61                kw = {'value': value, 'contents': 'invalid: '+ str(value),
     62                      'selected': 'selected'}
     63                res += renderHtmlTag('option', **kw)
     64            res += '</select>'
     65            return res
     66        raise RuntimeError('unknown mode %s' % mode)
     67
     68InitializeClass(CPSSelectWidgetForRecord)
     69
     70widgetRegistry.register(CPSSelectWidgetForRecord)
     71
     72###)
     73
     74class CPSStringWidgetForRecord(CPSStringWidget):
     75    """String widget."""
     76    meta_type = 'String Widget For Record'
     77
     78    field_types = ('CPS String Field',)
     79    field_inits = ({'is_searchabletext': 1,},)
     80    _properties = CPSStringWidget._properties + (
     81        {'id': 'record_id', 'type': 'string', 'mode': 'w',
     82         'label': 'Record Id', 'is_required' : 1},
     83        )
     84
     85    def render(self, mode, datastructure, **kw):
     86        """Render in mode from datastructure."""
     87        value = datastructure[self.getWidgetId()]
     88        if mode == 'view':
     89            return escape(value)
     90        elif mode == 'edit':
     91            # XXX TODO should use an other name than kw !
     92            # XXX change this everywhere
     93            html_widget_id = self.getHtmlWidgetId()
     94            kw = {'type': 'text',
     95                  'id'  : html_widget_id,
     96                  'name': '%s.%s:records' % (self.record_id,html_widget_id),
     97                  'value': escape(value),
     98                  'size': self.display_width,
     99                  }
     100            if self.size_max:
     101                kw['maxlength'] = self.size_max
     102            return renderHtmlTag('input', **kw)
     103        raise RuntimeError('unknown mode %s' % mode)
     104
     105InitializeClass(CPSStringWidgetForRecord)
     106
     107widgetRegistry.register(CPSStringWidgetForRecord)
    14108
    15109class StudentIdWidget(CPSStringWidget): ###(
  • WAeUP_SRP/trunk/profiles/default/layouts.xml

    r256 r295  
    1515 <object name="department" meta_type="CPS Layout"/>
    1616 <object name="faculty" meta_type="CPS Layout"/>
     17 <object name="faculty_row" meta_type="CPS Layout"/>
    1718 <object name="jamb" meta_type="CPS Layout"/>
    1819 <object name="jambcreate" meta_type="CPS Layout"/>
  • WAeUP_SRP/trunk/profiles/default/skins.xml

    r280 r295  
    33   cookie_persistence="False" default_skin="CPSSkins"
    44   request_varname="portal_skin">
     5 <object name="waeup_custom" meta_type="Filesystem Directory View"
     6    directory="WAeUP_SRP/skins/waeup_custom"/>
    57 <object name="waeup_default" meta_type="Filesystem Directory View"
    68    directory="WAeUP_SRP/skins/waeup_default"/>
     
    1012    directory="WAeUP_SRP/skins/waeup_student"/>
    1113 <skin-path name="CPSSkins">
    12   <layer name="waeup_default" insert-after="custom"/>
    13   <layer name="waeup_student" insert-after="cps_default"/>
    14   <layer name="waeup_academics" insert-after="cps_default"/>
     14  <layer name="waeup_custom" insert-after="custom"/>
     15  <layer name="waeup_default" insert-after="waeup_custom"/>
     16  <layer name="waeup_student" insert-after="waeup_custom"/>
     17  <layer name="waeup_academics" insert-after="waeup_custom"/>
    1518 </skin-path>
    1619 <skin-path name="CPSSkins-macroless">
    17   <layer name="waeup_default" insert-after="custom"/>
    18   <layer name="waeup_student" insert-after="cps_default"/>
    19   <layer name="waeup_academics" insert-after="cps_default"/>
     20  <layer name="waeup_custom" insert-after="custom"/>
     21  <layer name="waeup_default" insert-after="waeup_custom"/>
     22  <layer name="waeup_student" insert-after="waeup_custom"/>
     23  <layer name="waeup_academics" insert-after="waeup_custom"/>
    2024 </skin-path>
    2125</object>
  • WAeUP_SRP/trunk/profiles/default/types.xml

    r256 r295  
    55 <object name="AccoFolder" meta_type="CPS Flexible Type Information"/>
    66 <object name="Accommodation" meta_type="CPS Flexible Type Information"/>
     7 <object name="CertificatesFolder" meta_type="CPS Flexible Type Information"/>
    78 <object name="Certificate" meta_type="CPS Flexible Type Information"/>
     9 <object name="CoursesFolder" meta_type="CPS Flexible Type Information"/>
    810 <object name="Course" meta_type="CPS Flexible Type Information"/>
    911 <object name="CertificateCourse" meta_type="CPS Flexible Type Information"/>
  • WAeUP_SRP/trunk/profiles/default/types/Department.xml

    r290 r295  
    1212 <property name="filter_content_types">True</property>
    1313 <property name="allowed_content_types">
    14   <element value="Certificate"/>
    15   <element value="Course"/>
     14  <element value="CertificatesFolder"/>
     15  <element value="CoursesFolder"/>
    1616 </property>
    1717 <property name="allow_discussion">False</property>
     
    4242 <action title="action_edit" action_id="edit" category="object"
    4343    condition_expr="python:member and 'Manager' in member.getRoles()"
    44     url_expr="string:${object_url}/cpsdocument_edit_form" visible="True">
    45   <permission value=""/>
    46  </action>
     44    url_expr="string:${object_url}/cpsdocument_edit_form" visible="True"/>
    4745 <action title="Add Course" action_id="create_course" category="object"
    48     condition_expr="" url_expr="string:${object/absolute_url}/content_create?type_name=Course"
    49     visible="True">
    50   <permission value=""/>
    51  </action>
    52  <action title="Add Certificate" action_id="create_certificate" category="object"
    53     condition_expr="" url_expr="string:${object/absolute_url}/content_create?type_name=Certificate"
    54     visible="True">
    55  </action>
     46    condition_expr=""
     47    url_expr="string:${object/absolute_url}/content_create?type_name=Course"
     48    visible="False"/>
     49 <action title="Add Certificate" action_id="create_certificate"
     50    category="object" condition_expr=""
     51    url_expr="string:${object/absolute_url}/content_create?type_name=Certificate"
     52    visible="False"/>
    5653 <action title="action_folder_contents" action_id="contents" category="object"
    5754    condition_expr="python:member and 'Manager' in member.getRoles()"
    58     url_expr="string:${object_url}/folder_contents" visible="True">
    59   <permission value=""/>
    60  </action>
     55    url_expr="string:${object_url}/folder_contents" visible="True"/>
    6156 <action title="action_metadata" action_id="metadata" category="object"
    6257    condition_expr="python:member and 'Manager' in member.getRoles()"
  • WAeUP_SRP/trunk/profiles/default/workflows.xml

    r290 r295  
    22<object name="portal_workflow" meta_type="CPS Workflow Tool">
    33 <property name="title"></property>
    4  <object name="blog_entry_wf" meta_type="CPS Workflow"/>
    5  <object name="blog_section_wf" meta_type="CPS Workflow"/>
    6  <object name="blog_workspace_wf" meta_type="CPS Workflow"/>
    7  <object name="chat_item_section_wf" meta_type="CPS Workflow"/>
    8  <object name="chat_item_workspace_wf" meta_type="CPS Workflow"/>
    9  <object name="chat_section_wf" meta_type="CPS Workflow"/>
    10  <object name="chat_workspace_wf" meta_type="CPS Workflow"/>
    11  <object name="forum_permissions_dummy_wf" meta_type="CPS Workflow"/>
    12  <object name="forum_post_wf" meta_type="CPS Workflow"/>
    13  <object name="section_content_wf" meta_type="CPS Workflow"/>
    14  <object name="section_folder_wf" meta_type="CPS Workflow"/>
    15  <object name="section_forum_wf" meta_type="CPS Workflow"/>
    16  <object name="section_wiki_wf" meta_type="CPS Workflow"/>
    174 <object name="waeup_academics_wf" meta_type="CPS Workflow"/>
    185 <object name="waeup_accommodation_wf" meta_type="CPS Workflow"/>
     
    2613 <object name="waeup_student_wf" meta_type="CPS Workflow"/>
    2714 <object name="waeup_workspace_wf" meta_type="CPS Workflow"/>
    28  <object name="workspace_calendar_wf" meta_type="CPS Workflow"/>
    29  <object name="workspace_content_wf" meta_type="CPS Workflow"/>
    30  <object name="workspace_folder_wf" meta_type="CPS Workflow"/>
    31  <object name="workspace_folderish_content_wf" meta_type="CPS Workflow"/>
    32  <object name="workspace_forum_wf" meta_type="CPS Workflow"/>
    33  <object name="workspace_wiki_wf" meta_type="CPS Workflow"/>
    3415 <bindings>
    3516  <default/>
     
    4324   <bound-workflow workflow_id="waeup_accommodation_wf"/>
    4425  </type>
     26  <type type_id="CertificatesFolder">
     27   <bound-workflow workflow_id="waeup_base_wf"/>
     28  </type>
    4529  <type type_id="Certificate">
    4630   <bound-workflow workflow_id="waeup_certificate_wf"/>
     
    4933   <bound-workflow workflow_id="waeup_certificate_course_wf"/>
    5034  </type>
    51   <type type_id="CPS Calendar">
    52    <bound-workflow workflow_id="workspace_calendar_wf"/>
     35  <type type_id="CoursesFolder">
     36   <bound-workflow workflow_id="waeup_base_wf"/>
    5337  </type>
    5438  <type type_id="Course">
     
    6751   <bound-workflow workflow_id="waeup_base_wf"/>
    6852  </type>
    69   <type type_id="Members Workspace">
    70    <bound-workflow workflow_id="workspace_folder_wf"/>
    71   </type>
    7253  <type type_id="SCFolder">
    73    <bound-workflow workflow_id="section_folder_wf"/>
    74   </type>
    75   <type type_id="Section">
    7654   <bound-workflow workflow_id="section_folder_wf"/>
    7755  </type>
     
    8361  </type>
    8462  <type type_id="StudentDocuments">
    85    <bound-workflow workflow_id="waeup_base_wf"/>
    86   </type>
    87   <type type_id="StudentElegibility">
    8863   <bound-workflow workflow_id="waeup_base_wf"/>
    8964  </type>
     
    10277  <type type_id="University">
    10378   <bound-workflow workflow_id="section_folder_wf"/>
    104   </type>
    105   <type type_id="Workspace">
    106    <bound-workflow workflow_id="workspace_folder_wf"/>
    107   </type>
     79  </type>A
    10880 </bindings>
    10981</object>
  • WAeUP_SRP/trunk/skins/waeup_academics/academics_view.py

    r280 r295  
    1 ##parameters=REQUEST=None,psm=None,groups=None
     1##parameters=REQUEST=None
    22# $Id$
     3"""
     4"""
     5request = REQUEST
     6rget = request.get
     7rset = request.set
     8fget = request.form.get
     9form = request.form
     10fhas = request.form.has_key
    311
    4 """Default view for the forum. If post_id is not None, post with id = <post_id>
    5 will be displayed, otherwise first post will be displayed."""
    612
    7 member = context.portal_membership.getAuthenticatedMember()
     13lt = context.portal_layouts
     14pr = context.portal_registration
     15pm = context.portal_membership
     16items = context.contentValues()
    817
    9 if not context.portal_membership.isAnonymousUser():
    10     if 'Manager' in member.getRoles():
    11         return context.folder_view()
    12 index = getattr(context,'documents',None)
    13 if index:
    14     fp = getattr(index,'academicsfrontpage',None)
    15     if fp:
    16         return fp()
    17 return context.academics.academics_view_all(psm=psm)
     18validate = fhas('add') or fhas('change') or fhas('delete')
     19res,psm,ds = lt.renderLayout(layout_id='faculty_row',
     20                      schema_id= 'faculty_row',
     21                      context=context,
     22                      mapping= {},#validate and request,
     23                      ob={},
     24                      layout_mode='edit',
     25                      formaction = "academics_view",
     26                      items=items,
     27                      )
     28#return res
     29
     30if 1 or psm == 'invalid':
     31    return context.academics_view_form(rendered = res,
     32                                 psm = 'Please correct your errors',
     33                                 ds = ds,
     34                                 )
     35elif psm == '':
     36    return context.academics_view_form(rendered = res,
     37                                 psm = psm,
     38                                 ds = ds,
     39                                 )
     40inr = 0
     41if fhas('add') and (fget('type') or fget('subject') or fget('result')):
     42    sr.append((fget('type'),fget('subject'),fget('result')))
     43    psm = "new result added"
     44elif fhas('change') and fget('keys'):
     45    for k in fget('keys'):
     46        sr[int(k)] = (fget('type_%s' % k),fget('subject_%s' % k),fget('result_%s' % k))
     47        inr += 1
     48    psm = "%s items changed" % inr
     49elif fhas('delete') and fget('keys'):
     50    new = []
     51    todelete = fget('keys')
     52    for k in range(len(sr)):
     53        if str(k) not in todelete:
     54            new.append(sr[k])
     55    inr = len(todelete)
     56    sr = new
     57    psm = "%s items deleted" % inr
     58elif psm == 'valid':
     59    psm = "Your changes have been saved."
     60
     61res,dummy,fds = lt.renderLayout(layout_id= 'faculty_row',
     62                      schema_id= 'faculty_row',
     63                      context=context,
     64                      mapping=request,
     65                      ob={},
     66                      layout_mode='create',
     67                      formaction = "academics_view",
     68                      )
     69
     70return context.academic_view_form(rendered = res,
     71                                 #psm = "%s <br /> %s" % (str(ds),str(lt.faculty_row.getLayoutDefinition()))
     72                                 psm = psm,
     73                                 )
  • WAeUP_SRP/trunk/skins/waeup_academics/academics_view_form.pt

    r289 r295  
    11<html metal:use-macro="here/content_lib_master/macros/master">
    2 
    32  <metal:block fill-slot="head_slot">
    4     <tal:block tal:define="student here/getContent">
    5     </tal:block>
    63  </metal:block>
    74
    85  <metal:block fill-slot="css_slot">
    96    <link rel="Stylesheet" type="text/css" href=""
    10           tal:attributes="href string:${base_url}student.css" />
     7      tal:attributes="href string:${base_url}document.css" />
    118  </metal:block>
    129  <metal:block fill-slot="header">
     
    1411
    1512  <metal:block fill-slot="main"
    16                tal:define="items here/contentValues">
    17     <h2>Academics (Faculties)</h2>
    18     <table cellspacing="0" cellpadding="0">
    19       <tal:block condition="python: len(items)">
    20         <span tal:repeat="item items">
    21           <tr tal:condition="python:item.portal_type == 'Faculty'">
    22             <td colspan="1">
    23               <a href="faculty" tal:attributes="href item/absolute_url" tal:content="item/title_or_id"></a>
    24             </td>
    25           </tr>
    26         </span>
    27       </tal:block>
    28       <tr tal:condition="python:not len(items)">
    29         <td>
    30           nothing yet !
    31         </td>
    32       </tr>
    33     </table>
     13               tal:define="roles member/getRoles;
     14               backend python:'UniversityManager' in roles or 'StudentManager' in roles;
     15               frontend python:'Student' in roles or isAnon;
     16               folder here/getContent;
     17               items here/contentValues;
     18               rendered options;"
     19               >
     20    <h1> <span tal:content="context/title_or_id" /></h1>     
     21 
     22    <p>The Acamdemic Section</p>       
     23 
     24    <p>The Faculties:</p>
     25<span tal:replace="structure rendered" /> 
    3426  </metal:block>
    3527  <metal:block fill-slot="sub">
  • WAeUP_SRP/trunk/skins/waeup_default/layout_row_edit.pt

    r289 r295  
    1515             is_flexible options/is_flexible;
    1616             cpsmcat nocall:here/translation_service;
    17              results options/schoolresults;
     17             results options/items;
    1818             "
    1919             >
    20   <form action='eligibility' method='post' tal:attributes="action formaction"
     20  <span tal:content="structure layout" tal:condition="python: 0" />
     21  <form tal:condition="python: 1" action='tobereplaced' method='post' tal:attributes="action formaction"
    2122        enctype='multipart/form-data' class='workflow'>
    2223    <div class=''>
    2324      <div class='documentFields'>
     25        <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout">
     26          <tr tal:repeat="item results" valign="top">
     27            <td>
    2428        <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout">
    2529          <tr tal:repeat="row layout/rows" valign="top">
     
    7781          </tr>
    7882        </table>
    79     <table cellspacing="0" cellpadding="2" border="0" width="100%" tal:condition="results|nothing">
     83            </td>
     84          </tr>
     85      <tr>
     86        <td align="left" colspan="3">
     87          <input class="standalone" type="submit" name="change" value=" Change " />
     88          <input class="standalone" type="submit" name="delete" value=" Delete " />
     89        </td>
     90      </tr>
     91        </table>
     92    <table cellspacing="0" cellpadding="2" border="0" width="100%" tal:condition="nothing">
    8093      <tr>
    8194        <td align="left" valign="top">
     
    92105        </td>
    93106      </tr>
    94       <span tal:repeat="row results" tal:omit-tag="">
     107      <span tal:repeat="row results" tal:condition="python: 0" tal:omit-tag="">
    95108        <tr tal:define="rindex repeat/row/index">
    96109          <td align="left" valign="top">
     
    124137      </tr>
    125138    </table>
    126     <table cellspacing="0" cellpadding="2" border="0" width="100%">
     139    <table tal:condition="python:0" cellspacing="0" cellpadding="2" border="0" width="100%">
    127140      <tr>
    128141        <td align="left" valign="top" colspan="2">
  • WAeUP_SRP/trunk/tests/__init__.py

    r263 r295  
    11from Testing.ZopeTestCase import installProduct
    22
    3 installProduct('WAeUP')
     3installProduct('WAeUP_SRP')
  • WAeUP_SRP/trunk/tests/test_test.py

    r263 r295  
    44import unittest
    55
    6 from waeuptest import WAeUPTest
     6from waeuptest import WAeUP_SRPTest
    77
    8 class TestTesting(WAeUPTest):
     8class TestTesting(WAeUP_SRPTest):
    99       
    1010    def testTest(self):
  • WAeUP_SRP/trunk/tests/test_vocabularies.py

    r267 r295  
    44import unittest
    55
    6 from waeuptest import WAeUPTest
     6from waeuptest import WAeUP_SRPTest
    77
    88from Products.CMFCore.utils import getToolByName
    99
    10 class TestVocabularies(WAeUPTest):
     10class TestVocabularies(WAeUP_SRPTest):
    1111   
    1212    def afterSetUp(self):
    1313        wftool = getToolByName(self.portal, 'portal_workflow')
    14         af = self.portal.uniportal.academics
     14        af = self.portal.campus.academics
    1515        wftool.invokeFactoryFor(af, 'Faculty', 'fac1')
    1616        fac1 = af.fac1
  • WAeUP_SRP/trunk/tests/waeuptest.py

    r264 r295  
    77
    88class LayerClass(ExtensionProfileLayerClass):
    9     extension_ids = ('WAeUP:default',)
     9    extension_ids = ('WAeUP_SRP:default',)
    1010
    11 WAeUPLayer = LayerClass(__name__, 'WAeUPLayer')
     11WAeUP_SRPLayer = LayerClass(__name__, 'WAeUP_SRPLayer')
    1212
    13 class WAeUPTest(CPSTestCase):
    14     layer = WAeUPLayer
     13class WAeUP_SRPTest(CPSTestCase):
     14    layer = WAeUP_SRPLayer
Note: See TracChangeset for help on using the changeset viewer.