1 from portal.portalpage import PortalPage
2 from plugins.wizard import Wizard
3 from plugins.form import CreateForm
4 from plugins.raw.raw import Raw # XXX
6 from myslice.viewutils import the_user
8 from django.template.loader import render_to_string
9 from django.template import RequestContext
13 WIZARD_TITLE = 'User registration'
14 STEP1_TITLE = 'Enter your details'
15 STEP2_TITLE = 'Select your institution'
16 STEP3_TITLE = 'Authentication'
17 STEP4_TITLE = 'Request a slice (optional)'
18 STEP5_TITLE = 'Waiting for validation'
19 STEP6_TITLE = 'Account validated'
21 STEP0 = render_to_string('account_validated.html', context_instance=RequestContext(request))
28 STEP5 = render_to_string('account_validated.html', context_instance=RequestContext(request))
30 p = PortalPage(request)
32 # This is redundant with the Wizard title
33 p << "<h3>User registration</h3>"
37 # If the user already exists (is logged), let's display a summary of his account details
38 # Otherwise propose a form to fill in
40 # Fill a disabled form with user info
41 # Please logout to register another user
42 sons.append(Raw(page=p, title=STEP1_TITLE, togglable=False, html=STEP0))
44 # XXX This should become local:user
45 sons.append(CreateForm(page = p, title = STEP1_TITLE, togglable = False, object = 'user'))
48 # If the user already exists (is logged), let's display a summary of its institution
49 # Otherwise propose a form to fill in (we should base our selection on the email)
51 # Fill a disabled form with institution
52 # Please logout to register another user
53 sons.append(Raw(page=p, title=STEP2_TITLE, togglable=False, html="User created"))
55 sons.append(CreateForm(page = p, title = STEP2_TITLE, togglable = False, object = 'institution'))
58 # Please should your prefered authentication method
59 # This step should allow the user to either choose the user or managed mode in MySlice
60 sons.append(Raw(page = p, title = STEP3_TITLE, togglable = False, html = STEP2_HTML))
62 # Step 4: Request a slice (optional)
63 sons.append(CreateForm(page = p, title = STEP4_TITLE, togglable = False, object = 'slice'))
65 # Step 5: Your request is waiting for validation
67 sons.append(Raw(page = p, title = STEP5_TITLE, togglable = False, html = STEP4))
69 # Step 6: Account validation = welcome for newly validated users
74 sons.append(Raw(page = p, title = STEP6_TITLE, togglable = False, html = STEP5))
84 p << wizard.render(request) # in portal page if possible