Index: main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt	(revision 6687)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt	(revision 6687)
@@ -0,0 +1,7 @@
+<span class="yui-button">
+  <span class="first-child">
+    <a href=""
+       tal:attributes="href viewlet/target_url">
+    <span tal:content="viewlet/text">TEXT</span></a>
+  </span>
+</span>
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py	(revision 6684)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py	(revision 6687)
@@ -39,5 +39,5 @@
 class StudentRole(grok.Role):
     grok.name('waeup.Student')
-    grok.permissions('waeup.Public')
+    grok.permissions('waeup.Public', 'waeup.View')
 
 class StudentsOfficer(grok.Role):
Index: main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 6684)
+++ main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 6687)
@@ -4,9 +4,10 @@
 
 grok.context(IWAeUPObject) # Make IWAeUPObject the default context
+grok.templatedir('browser_templates')
 
-class StudentSidebar(grok.ViewletManager):
-    grok.name('left_student')
+class StudentManageSidebar(grok.ViewletManager):
+    grok.name('left_studentmanage')
 
-class StudentLink(grok.Viewlet):
+class StudentManageLink(grok.Viewlet):
     """A link displayed in the student box which shows up for StudentNavigation
     objects.
@@ -14,5 +15,5 @@
     """
     grok.baseclass()
-    grok.viewletmanager(StudentSidebar)
+    grok.viewletmanager(StudentManageSidebar)
     grok.context(IWAeUPObject)
     grok.view(Interface)
@@ -27,4 +28,71 @@
         return u'<div class="portlet"><a href="%s">%s</a></div>' % (
                 url, self.text)
+
+class StudentManageBaseLink(StudentManageLink):
+    grok.order(1)
+    link = 'index'
+    text = u'Base Data'
+
+class StudentManageClearanceLink(StudentManageLink):
+    grok.order(2)
+    link = 'view_clearance'
+    text = u'Clearance Data'
+
+class StudentManagePersonalLink(StudentManageLink):
+    grok.order(2)
+    link = 'view_personal'
+    text = u'Personal Data'
+
+class StudentManageStudyCourseLink(StudentManageLink):
+    grok.order(3)
+    link = 'studycourse'
+    text = u'Study Course'
+
+class StudentManagePaymentsLink(StudentManageLink):
+    grok.order(4)
+    link = 'payments'
+    text = u'Payments'
+
+class StudentManageAccommodationLink(StudentManageLink):
+    grok.order(5)
+    link = 'accommodation'
+    text = u'Accommodation Data'
+
+class StudentManageHistoryLink(StudentManageLink):
+    grok.order(6)
+    link = 'history'
+    text = u'History'
+
+
+class StudentMenu(grok.ViewletManager):
+    grok.name('top_student')
+
+class StudentLink(grok.Viewlet):
+    """A link displayed in the student box which shows up for StudentNavigation
+    objects.
+
+    """
+    grok.baseclass()
+    grok.viewletmanager(StudentMenu)
+    grok.context(IWAeUPObject)
+    grok.view(Interface)
+    grok.order(5)
+    grok.require('waeup.viewStudent')
+    template = grok.PageTemplateFile('browser_templates/plainactionbutton.pt')
+
+    link = 'index'
+    text = u'Base Data'
+
+    @property
+    def alt(self):
+        """Alternative text for icon.
+        """
+        return self.text
+
+    @property
+    def target_url(self):
+        """Get a URL to the target...
+        """
+        return self.view.url(self.context.getStudent(), self.link)
 
 class StudentBaseLink(StudentLink):
@@ -56,5 +124,5 @@
     grok.order(5)
     link = 'accommodation'
-    text = u'Accommodation Data'
+    text = u'Accommodation'
 
 class StudentHistoryLink(StudentLink):
@@ -62,2 +130,62 @@
     link = 'history'
     text = u'History'
+
+class PrimaryStudentNavManager(grok.ViewletManager):
+    """Viewlet manager for the primary navigation tab.
+    """
+    grok.name('primary_nav_student')
+
+class PrimaryStudentNavTab(grok.Viewlet):
+    """Base for primary student nav tabs.
+    """
+    grok.baseclass()
+    grok.viewletmanager(PrimaryStudentNavManager)
+    grok.template('primarynavtab')
+    grok.order(1)
+    grok.require('waeup.View')
+    pnav = 0 
+    tab_title = u'Some Text'
+
+    @property
+    def link_target(self):
+        return self.view.application_url()
+
+    @property
+    def active(self):
+        view_pnav = getattr(self.view, 'pnav', 0)
+        if view_pnav == self.pnav:
+            return 'active'
+        return ''
+
+class HomeTab(PrimaryStudentNavTab):
+    """Home-tab in primary navigation.
+    """
+    grok.order(1)
+    grok.require('waeup.Public')
+    pnav = 0
+    tab_title = u'Home'
+
+class ProspectusTab(PrimaryStudentNavTab):
+    """Faculties-tab in primary navigation.
+    """
+    grok.order(2)
+    grok.require('waeup.View')
+    pnav = 1
+    tab_title = u'Prospectus'
+
+    @property
+    def link_target(self):
+        return self.view.application_url('faculties')
+
+class MyDataTab(PrimaryStudentNavTab):
+    """MyData-tab in primary navigation.
+    """
+    grok.order(3)
+    grok.require('waeup.Public')
+    pnav = 4
+    tab_title = u'My Data'
+
+    @property
+    def link_target(self):
+        rel_link = '/students/%s' % self.request.principal.id
+        return self.view.application_url() + rel_link
