Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 6795)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py	(revision 6796)
@@ -682,4 +682,54 @@
         self.redirect(self.url(self.context))
 
+class CourseTicketDisplayFormPage(WAeUPDisplayFormPage):
+    """ Page to display course tickets
+    """
+    grok.context(ICourseTicket)
+    grok.name('index')
+    grok.require('waeup.viewStudent')
+    form_fields = grok.AutoFields(ICourseTicket)
+    grok.template('courseticketpage')
+    pnav = 4
+
+    @property
+    def title(self):
+        return 'Course Ticket %s' % self.context.code
+
+    @property
+    def label(self):
+        return '%s: Course Ticket %s' % (
+            self.context.getStudent().name,self.context.code)
+
+class CourseTicketManageActionButton(ManageActionButton):
+    grok.order(1)
+    grok.context(ICourseTicket)
+    grok.view(CourseTicketDisplayFormPage)
+    grok.require('waeup.manageStudents')
+    text = 'Manage'
+    target = 'manage'
+
+class CourseTicketManageFormPage(WAeUPEditFormPage):
+    """ Page to manage course tickets
+    """
+    grok.context(ICourseTicket)
+    grok.name('manage')
+    grok.require('waeup.manageStudents')
+    form_fields = grok.AutoFields(ICourseTicket)
+    grok.template('courseticketmanagepage')
+    pnav = 4
+
+    @property
+    def title(self):
+        return 'Course Ticket %s' % self.context.code
+
+    @property
+    def label(self):
+        return 'Manage course ticket %s' % self.context.code
+
+    @grok.action('Save')
+    def save(self, **data):
+        msave(self, **data)
+        return
+
 class PaymentsDisplayFormPage(WAeUPDisplayFormPage):
     """ Page to display the student payments
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketmanagepage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketmanagepage.pt	(revision 6796)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketmanagepage.pt	(revision 6796)
@@ -0,0 +1,96 @@
+<form action="." tal:attributes="action request/URL" method="post"
+      class="edit-form" enctype="multipart/form-data">
+
+  <h2 i18n:translate=""
+    tal:condition="view/label"
+    tal:content="view/label">Label</h2>
+
+  <div class="form-status"
+    tal:define="status view/status"
+    tal:condition="status">
+    Form Status:
+    <span i18n:translate="" tal:content="view/status">
+      Form status summary
+    </span>
+  </div>
+
+
+  <table class="zebra">
+    <tbody>
+      <tr>
+        <td class="fieldname">
+            Course Title:
+        </td>
+        <td>
+            <span tal:replace="context/title">TITLE</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldname">
+            Faculty:
+        </td>
+        <td>
+            <span tal:replace="context/faculty">FACULTY</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldname">
+            Department:
+        </td>
+        <td>
+            <span tal:replace="context/department">DEPARTMENT</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldname">
+            Semester:
+        </td>
+        <td>
+            <span tal:replace="context/semester">SEMESTER</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldname">
+            Credits:
+        </td>
+        <td>
+            <span tal:replace="context/credits">CREDITS</span>
+        </td>
+      </tr>
+      <tr>
+        <td class="fieldname">
+            Passmark:
+        </td>
+        <td>
+            <span tal:replace="context/passmark">PASSMARK</span>
+        </td>
+      </tr>
+      <tal:block repeat="widget view/widgets">
+        <tr>
+          <td class="label">
+            <label tal:attributes="for widget/name">
+              <span class="required" tal:condition="widget/required">*</span>
+              <span i18n:translate="" tal:content="widget/label">label</span>:
+            </label>
+          </td>
+          <td class="field">
+            <span class="widget" tal:content="structure widget">
+              <input type="text" />
+            </span>
+            <tal:error tal:condition="widget/error">
+              <span tal:replace="structure widget/error">error</span>
+            </tal:error>
+            <tal:hint tal:condition="widget/hint">
+              <span class="hint" tal:content="structure widget/hint">hint</span>
+            </tal:hint>
+          </td>
+        </tr>
+      </tal:block>
+    </tbody>
+  </table>
+  <div class="actionButtons" tal:condition="view/availableActions">
+    <input tal:repeat="action view/actions"
+           tal:replace="structure action/render"
+           />
+  </div>
+</form>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketpage.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketpage.pt	(revision 6796)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketpage.pt	(revision 6796)
@@ -0,0 +1,66 @@
+<h2 i18n:translate=""
+    tal:condition="view/label"
+    tal:content="view/label">Label</h2>
+
+<table class="zebra">
+  <tbody>
+    <tr>
+      <td class="fieldname">
+          Course Title:
+      </td>
+      <td>
+          <span tal:replace="context/title">TITLE</span>
+      </td>
+    </tr>
+    <tr>
+      <td class="fieldname">
+          Faculty:
+      </td>
+      <td>
+          <span tal:replace="context/faculty">FACULTY</span>
+      </td>
+    </tr>
+    <tr>
+      <td class="fieldname">
+          Department:
+      </td>
+      <td>
+          <span tal:replace="context/department">DEPARTMENT</span>
+      </td>
+    </tr>
+    <tr>
+      <td class="fieldname">
+          Semester:
+      </td>
+      <td>
+          <span tal:replace="context/semester">SEMESTER</span>
+      </td>
+    </tr>
+    <tr>
+      <td class="fieldname">
+          Credits:
+      </td>
+      <td>
+          <span tal:replace="context/credits">CREDITS</span>
+      </td>
+    </tr>
+    <tr>
+      <td class="fieldname">
+          Passmark:
+      </td>
+      <td>
+          <span tal:replace="context/passmark">PASSMARK</span>
+      </td>
+    </tr>
+    <tal:block repeat="widget view/widgets">
+      <tr>
+        <td class="fieldname">
+          <tal:block content="widget/label"/>:
+        </td>
+        <td>
+          <input tal:replace="structure widget" />
+        </td>
+      </tr>
+    </tal:block>
+  </tbody>
+</table>
