Fix: merge conflict def def account_process(): in views.py
authorYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 4 Sep 2013 13:49:21 +0000 (15:49 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 4 Sep 2013 13:49:21 +0000 (15:49 +0200)
1  2 
portal/templates/my_account.html
portal/views.py

@@@ -40,7 -40,7 +40,7 @@@
    <div class='ms-dashboard-content' id='tophat__list__user_hrn'>
      <div id="main">
        <div id="middle" align="center">
-       <form id="editForm"  method="POST" action="acc_process" enctype="multipart/form-data">
+       <form id="editForm"  method="POST" action="account_process" enctype="multipart/form-data">
          {% csrf_token %}
          <table class="profile">          
            <tr class="odd">
@@@ -99,9 -99,9 +99,9 @@@
  
              </tr>
              <tr class="odd">
 -              <td class="key">Affiliation</td>
 +              <td class="key">Authority</td>
                <td class="value">
 -                <span id="affval" class="value">{{ affiliation }}</span>
 +                <span id="affval" class="value">{{ authority }}</span>
                  <img class="logo" src="{{STATIC_URL}}/img/ques_icon.png" onclick="affAlert()"  title="To change your affiliation please contact the administrator" style="height: 20px; width: 20px; position: absolute; left: 625px; left: 900px; ">
                  </td>
                </tr>
diff --combined portal/views.py
@@@ -43,8 -43,8 +43,8 @@@ from portal.forms                impor
  from portal.util                 import RegistrationView, ActivationView
  from portal.models               import PendingUser, PendingSlice
  from portal.actions              import authority_get_pi_emails, get_request_by_authority, manifold_add_user, manifold_update_user
- from manifold.core.query         import Query
  from manifold.manifoldapi        import execute_query
+ from manifold.core.query         import Query
  from unfold.page                 import Page
  from myslice.viewutils           import topmenu_items, the_user
  from django.http                 import HttpResponseRedirect, HttpResponse
  from M2Crypto                    import Rand, RSA, BIO
  import os, re
  
- class DashboardView(TemplateView):
-     template_name = "dashboard.html"
-     
-     #This view requires login 
-     @method_decorator(login_required)
-     def dispatch(self, *args, **kwargs):
-         return super(DashboardView, self).dispatch(*args, **kwargs)
-     def get_context_data(self, **kwargs):
-         # We might have slices on different registries with different user accounts 
-         # We note that this portal could be specific to a given registry, to which we register users, but i'm not sure that simplifies things
-         # Different registries mean different identities, unless we identify via SFA HRN or have associated the user email to a single hrn
-         #messages.info(self.request, 'You have logged in')
-         page = Page(self.request)
-         # Slow...
-         #slice_query = Query().get('slice').filter_by('user.user_hrn', 'contains', user_hrn).select('slice_hrn')
-         slice_query = Query().get('user').filter_by('user_hrn', '==', '$user_hrn').select('user_hrn', 'slice.slice_hrn')
-         auth_query  = Query().get('network').select('network_hrn')
-         print "AUTH QUERY =====================", auth_query
-         print "filter", auth_query.filters
-         page.enqueue_query(slice_query)
-         page.enqueue_query(auth_query)
-         page.expose_js_metadata()
-         page.expose_queries()
-         slicelist = SimpleList(
-             title = None,
-             page  = page,
-             key   = 'slice.slice_hrn',
-             query = slice_query,
-         )
-          
-         authlist = SimpleList(
-             title = None,
-             page  = page,
-             key   = 'network_hrn',
-             query = auth_query,
-         )
-         context = super(DashboardView, self).get_context_data(**kwargs)
-         context['person']   = self.request.user
-         context['networks'] = authlist.render(self.request) 
-         context['slices']   = slicelist.render(self.request)
-         # XXX This is repeated in all pages
-         # more general variables expected in the template
-         context['title'] = 'Test view that combines various plugins'
-         # the menu items on the top
-         context['topmenu_items'] = topmenu_items('Dashboard', self.request) 
-         # so we can sho who is logged
-         context['username'] = the_user(self.request) 
-         context.update(page.prelude_env())
-         return context
- # DEPRECATED #class UserRegisterView(RegistrationView):
- # DEPRECATED #    """
- # DEPRECATED #    A registration backend which follows a simple workflow:
- # DEPRECATED #
- # DEPRECATED #    1. User signs up, inactive account is created.
- # DEPRECATED #
- # DEPRECATED #    2. Email is sent to user with activation link.
- # DEPRECATED #
- # DEPRECATED #    3. User clicks activation link, account is now active.
- # DEPRECATED #
- # DEPRECATED #    Using this backend requires that
- # DEPRECATED #
- # DEPRECATED #    * ``registration`` be listed in the ``INSTALLED_APPS`` setting
- # DEPRECATED #      (since this backend makes use of models defined in this
- # DEPRECATED #      application).
- # DEPRECATED #
- # DEPRECATED #    * The setting ``ACCOUNT_ACTIVATION_DAYS`` be supplied, specifying
- # DEPRECATED #      (as an integer) the number of days from registration during
- # DEPRECATED #      which a user may activate their account (after that period
- # DEPRECATED #      expires, activation will be disallowed).
- # DEPRECATED #
- # DEPRECATED #    * The creation of the templates
- # DEPRECATED #      ``registration/activation_email_subject.txt`` and
- # DEPRECATED #      ``registration/activation_email.txt``, which will be used for
- # DEPRECATED #      the activation email. See the notes for this backends
- # DEPRECATED #      ``register`` method for details regarding these templates.
- # DEPRECATED #
- # DEPRECATED #    Additionally, registration can be temporarily closed by adding the
- # DEPRECATED #    setting ``REGISTRATION_OPEN`` and setting it to
- # DEPRECATED #    ``False``. Omitting this setting, or setting it to ``True``, will
- # DEPRECATED #    be interpreted as meaning that registration is currently open and
- # DEPRECATED #    permitt ed.
- # DEPRECATED #
- # DEPRECATED #    Internally, this is accomplished via storing an activation key in
- # DEPRECATED #    an instance of ``registration.models.RegistrationProfile``. See
- # DEPRECATED #    that model and its custom manager for full documentation of its
- # DEPRECATED #    fields and supported operations.
- # DEPRECATED #    
- # DEPRECATED #    """
- # DEPRECATED ## DEPRECATED #    form_class = UserRegisterForm
- # DEPRECATED #    
- # DEPRECATED #    def register(self, request, **cleaned_data):
- # DEPRECATED #        """
- # DEPRECATED #        Given a username, email address and password, register a new
- # DEPRECATED #        user account, which will initially be inactive.
- # DEPRECATED #
- # DEPRECATED #        Along with the new ``User`` object, a new
- # DEPRECATED #        ``registration.models.RegistrationProfile`` will be created,
- # DEPRECATED #        tied to that ``User``, containing the activation key which
- # DEPRECATED #        will be used for this account.
- # DEPRECATED #
- # DEPRECATED #        An email will be sent to the supplied email address; this
- # DEPRECATED #        email should contain an activation link. The email will be
- # DEPRECATED #        rendered using two templates. See the documentation for
- # DEPRECATED #        ``RegistrationProfile.send_activation_email()`` for
- # DEPRECATED #        information about these templates and the contexts provided to
- # DEPRECATED #        them.
- # DEPRECATED #
- # DEPRECATED #        After the ``User`` and ``RegistrationProfile`` are created and
- # DEPRECATED #        the activation email is sent, the signal
- # DEPRECATED #        ``registration.signals.user_registered`` will be sent, with
- # DEPRECATED #        the new ``User`` as the keyword argument ``user`` and the
- # DEPRECATED #        class of this backend as the sender.
- # DEPRECATED #
- # DEPRECATED #        """
- # DEPRECATED #        first_name = cleaned_data['first_name']
- # DEPRECATED #        last_name  = cleaned_data['last_name']
- # DEPRECATED #        affiliation= cleaned_data['affiliation']
- # DEPRECATED #        email      = cleaned_data['email']
- # DEPRECATED #        password   = cleaned_data['password1']
- # DEPRECATED #        
- # DEPRECATED #        #password2  = cleaned_data['password2']
- # DEPRECATED #        keypair    = cleaned_data['keypair']
- # DEPRECATED #
- # DEPRECATED #        #if Site._meta.installed:
- # DEPRECATED #        #    site = Site.objects.get_current()
- # DEPRECATED #        #else:
- # DEPRECATED #        #    site = RequestSite(request) 
- # DEPRECATED #        site = None
- # DEPRECATED #
- # DEPRECATED #        new_user = PendingUser.objects.create_inactive_user(first_name, last_name, email, password, site)
- # DEPRECATED #        signals.user_registered.send(sender=self.__class__,
- # DEPRECATED #                                     user=new_user,
- # DEPRECATED #                                     request=request)
- # DEPRECATED #        return new_user
- # DEPRECATED #
- # DEPRECATED #    def get_context_data(self, **kwargs):
- # DEPRECATED #        context = super(UserRegisterView, self).get_context_data(**kwargs)
- # DEPRECATED #        context['topmenu_items'] = topmenu_items('Register', self.request)
- # DEPRECATED #        context['username'] = the_user (self.request)
- # DEPRECATED #        return context
- # DEPRECATED #
- # DEPRECATED #    def registration_allowed(self, request):
- # DEPRECATED #        """
- # DEPRECATED #        Indicate whether account registration is currently permitted,
- # DEPRECATED #        based on the value of the setting ``REGISTRATION_OPEN``. This
- # DEPRECATED #        is determined as follows:
- # DEPRECATED #
- # DEPRECATED #        * If ``REGISTRATION_OPEN`` is not specified in settings, or is
- # DEPRECATED #          set to ``True``, registration is permitted.
- # DEPRECATED #
- # DEPRECATED #        * If ``REGISTRATION_OPEN`` is both specified and set to
- # DEPRECATED #          ``False``, registration is not permitted.
- # DEPRECATED #        
- # DEPRECATED #        """
- # DEPRECATED #        return getattr(settings, 'REGISTRATION_OPEN', True)
- # DEPRECATED #
- # DEPRECATED #    def get_success_url(self, request, user):
- # DEPRECATED #        """
- # DEPRECATED #        Return the name of the URL to redirect to after successful
- # DEPRECATED #        user registration.
- # DEPRECATED #        
- # DEPRECATED #        """
- # DEPRECATED #        return ('user_register_complete', (), {})
- # DEPRECATED #
- # DEPRECATED #
- # DEPRECATED #class UserValidateView(ActivationView):
- # DEPRECATED #    def activate(self, request, activation_key):
- # DEPRECATED #        """
- # DEPRECATED #        Given an an activation key, look up and activate the user
- # DEPRECATED #        account corresponding to that key (if possible).
- # DEPRECATED #
- # DEPRECATED #        After successful activation, the signal
- # DEPRECATED #        ``registration.signals.user_activated`` will be sent, with the
- # DEPRECATED #        newly activated ``User`` as the keyword argument ``user`` and
- # DEPRECATED #        the class of this backend as the sender.
- # DEPRECATED #        
- # DEPRECATED #        """
- # DEPRECATED #        activated_user = RegistrationProfile.objects.activate_user(activation_key)
- # DEPRECATED #        if activated_user:
- # DEPRECATED #            signals.user_activated.send(sender=self.__class__,
- # DEPRECATED #                                        user=activated_user,
- # DEPRECATED #                                        request=request)
- # DEPRECATED #        return activated_user
- # DEPRECATED #
- # DEPRECATED #    def get_success_url(self, request, user):
- # DEPRECATED #        return ('registration_activation_complete', (), {})
- # DEPRECATED #
- # DEPRECATED #
- # DEPRECATED #from portal.portalpage  import PortalPage
- # DEPRECATED #from plugins.wizard     import Wizard
- # DEPRECATED #from plugins.form       import CreateForm
- # DEPRECATED #from plugins.raw.raw    import Raw          # XXX
- # DEPRECATED #
- # DEPRECATED #from myslice.viewutils  import the_user
- # DEPRECATED #
- # DEPRECATED #from django.template.loader import render_to_string
- # DEPRECATED #from django.template import RequestContext
- # DEPRECATED #from django.views import generic
- # DEPRECATED #
- # DEPRECATED #from django.contrib.formtools.wizard.views import NamedUrlSessionWizardView
- # DEPRECATED ##from django.core.files.storage import FileSystemStorage
- # DEPRECATED #from django.core.files.storage import default_storage
- # DEPRECATED #
- # DEPRECATED ##class MerlinWizard(NamedUrlSessionWizardView):
- # DEPRECATED ##
- # DEPRECATED ##    ...
- # DEPRECATED ##    ...
- # DEPRECATED ##
- # DEPRECATED ##    @classonlymethod
- # DEPRECATED ##    def as_view(cls, *args, **kwargs):
- # DEPRECATED ##        kwargs.update({
- # DEPRECATED ##            'form_list': [
- # DEPRECATED ##                NameForm,
- # DEPRECATED ##                QuestForm,
- # DEPRECATED ##                ColorForm,
- # DEPRECATED ##            ],
- # DEPRECATED ##            'url_name': 'merlin_wizard'
- # DEPRECATED ##        })
- # DEPRECATED ##        return super(MerlinWizard, cls).as_view(*args, **kwargs)
- # DEPRECATED #
- # DEPRECATED #class UserRegisterWizardView(NamedUrlSessionWizardView):
- # DEPRECATED ##class UserRegisterWizardView(LoginRequiredMixin, NamedUrlSessionWizardView):
- # DEPRECATED #    # Notice that I specify a file storage instance. If you don't specify this,
- # DEPRECATED #    # and you need to support FileField or ImageField in your forms, you'll get
- # DEPRECATED #    # errors from Django. This is something else I think could be handled by
- # DEPRECATED #    # the views better. Seems to me that it should just use whatever the
- # DEPRECATED #    # default/specified storage is for the rest of your project/application.
- # DEPRECATED #    file_storage = default_storage # FileSystemStorage()
- # DEPRECATED #    template_name = "register_user_wizard.html"
- # DEPRECATED #
- # DEPRECATED #    def done(self, form_list, **kwargs):
- # DEPRECATED #        step1_form = form_list[0]
- # DEPRECATED #        step2_form = form_list[1]
- # DEPRECATED #
- # DEPRECATED #        productext = self.create_product(product_form)
- # DEPRECATED #        shippings = self.create_shippings(productext, shipping_forms)
- # DEPRECATED #        images = self.create_images(productext, image_forms)
- # DEPRECATED #
- # DEPRECATED #        if all([productext, shippings, images]):
- # DEPRECATED #            del self.request.session["wizard_product_wizard_view"]
- # DEPRECATED #
- # DEPRECATED #            messages.success(self.request,
- # DEPRECATED #                _("Your product has been created."))
- # DEPRECATED #            return HttpResponseRedirect(self.get_success_url(productext))
- # DEPRECATED #
- # DEPRECATED #        messages.error(self.request, _("Something went wrong creating your "
- # DEPRECATED #            "product. Please try again or contact support."))
- # DEPRECATED #        return HttpResponseRedirect(reverse("register_wizard"))
- # DEPRECATED #
- # DEPRECATED #    #def get_form_kwargs(self, step):
- # DEPRECATED #    #    if step == "product":
- # DEPRECATED #    #        return {"user": self.request.user}
- # DEPRECATED #    #    return {}
- # DEPRECATED #
- # DEPRECATED ## The portal should hook the slice and user creation pages
- # DEPRECATED #
- # DEPRECATED #def register_user(request):
- # DEPRECATED #    
- # DEPRECATED #    if request.method == 'POST':
- # DEPRECATED #        form = UserRegisterForm(request.POST) # Nous reprenons les données
- # DEPRECATED #        if form.is_valid():
- # DEPRECATED #            first_name = form.cleaned_data['first_name']
- # DEPRECATED #            last_name  = form.cleaned_data['last_name']
- # DEPRECATED #            email      = form.cleaned_data['email']
- # DEPRECATED #            password   = form.cleaned_data['password']
- # DEPRECATED #            password2  = form.cleaned_data['password2']
- # DEPRECATED #            keypair    = form.cleaned_data['keypair']
- # DEPRECATED #            ## Ici nous pouvons traiter les données du formulaire
- # DEPRECATED #            #sujet = form.cleaned_data['sujet']
- # DEPRECATED #            #message = form.cleaned_data['message']
- # DEPRECATED #            #envoyeur = form.cleaned_data['envoyeur']
- # DEPRECATED #            #renvoi = form.cleaned_data['renvoi']
- # DEPRECATED #            ## Nous pourrions ici envoyer l'e-mail grâce aux données que nous venons de récupérer
- # DEPRECATED #            #envoi = True
- # DEPRECATED #    else:
- # DEPRECATED #        form = UserRegisterForm()
- # DEPRECATED #    return render(request, 'register_user.html', locals())
- # DEPRECATED #
- # DEPRECATED #def index(request):
- # DEPRECATED #
- # DEPRECATED #    WIZARD_TITLE = 'User registration'
- # DEPRECATED #    STEP1_TITLE  = 'Enter your details'
- # DEPRECATED #    STEP2_TITLE  = 'Select your institution'
- # DEPRECATED #    STEP3_TITLE  = 'Authentication'
- # DEPRECATED #    STEP4_TITLE  = 'Request a slice (optional)'
- # DEPRECATED #    STEP5_TITLE  = 'Waiting for validation'
- # DEPRECATED #    STEP6_TITLE  = 'Account validated'
- # DEPRECATED #
- # DEPRECATED #    STEP0 = render_to_string('account_validated.html', context_instance=RequestContext(request))
- # DEPRECATED #    STEP2_HTML   = """
- # DEPRECATED #    coucou
- # DEPRECATED #    """
- # DEPRECATED #    STEP4 = """
- # DEPRECATED #    mede
- # DEPRECATED #    """
- # DEPRECATED #    STEP5 = render_to_string('account_validated.html', context_instance=RequestContext(request))
- # DEPRECATED #
- # DEPRECATED #    p = PortalPage(request)
- # DEPRECATED #
- # DEPRECATED #    # This is redundant with the Wizard title
- # DEPRECATED #    p << "<h3>User registration</h3>"
- # DEPRECATED #
- # DEPRECATED #    sons = []
- # DEPRECATED #    start_step = 1
- # DEPRECATED #
- # DEPRECATED #    # STEP 1
- # DEPRECATED #    # If the user already exists (is logged), let's display a summary of his account details
- # DEPRECATED #    # Otherwise propose a form to fill in
- # DEPRECATED #    if the_user(request):
- # DEPRECATED #        # Fill a disabled form with user info
- # DEPRECATED #        # Please logout to register another user
- # DEPRECATED #        sons.append(Raw(page=p, title=STEP1_TITLE, togglable=False, html=STEP0))
- # DEPRECATED #        start_step += 1
- # DEPRECATED #    else:
- # DEPRECATED #        # We could pass a list of fields also, instead of retrieving them from metadata
- # DEPRECATED #        # Otherwise we need some heuristics to display nice forms
- # DEPRECATED #        # XXX Could we log the user in after the form is validated ?
- # DEPRECATED #        # XXX Explain the password is for XXX
- # DEPRECATED #        field_list = [{
- # DEPRECATED #            'name'        : 'First name',
- # DEPRECATED #            'field'       : 'firstname',
- # DEPRECATED #            'type'        : 'text',
- # DEPRECATED #            'validate_rx' : '^[a-zA-Z -]+$',
- # DEPRECATED #            'validate_err': 'Your first name must be comprised of letters only',
- # DEPRECATED #            'description' : 'Enter your first name',
- # DEPRECATED #        }, {
- # DEPRECATED #            'name'        : 'Last name',
- # DEPRECATED #            'field'       : 'lastname',
- # DEPRECATED #            'type'        : 'text',
- # DEPRECATED #            'validate_rx' : '^[a-zA-Z -]+$',
- # DEPRECATED #            'validate_err': 'Your last name must be comprised of letters only',
- # DEPRECATED #            'description' : 'Enter your last name',
- # DEPRECATED #        }, { 
- # DEPRECATED #            'name'        : 'Email',
- # DEPRECATED #            'field'       : 'email',
- # DEPRECATED #            'type'        : 'text',
- # DEPRECATED #            'description' : 'Enter your email address',
- # DEPRECATED #        }, {
- # DEPRECATED #            'name'        : 'Password',
- # DEPRECATED #            'field'       : 'password',
- # DEPRECATED #            'type'        : 'password',
- # DEPRECATED #            'description' : 'Enter your password',
- # DEPRECATED #        }, {
- # DEPRECATED #            'name'        : 'Confirm password',
- # DEPRECATED #            'field'       : 'password2',
- # DEPRECATED #            'type'        : 'password',
- # DEPRECATED #            'description' : 'Enter your password again',
- # DEPRECATED #        }]
- # DEPRECATED #        sons.append(CreateForm(page = p, title = STEP1_TITLE, togglable = False, object = 'local:user', fields = field_list))
- # DEPRECATED #
- # DEPRECATED #    # STEP 2
- # DEPRECATED #    # If the user already exists (is logged), let's display a summary of its institution
- # DEPRECATED #    # Otherwise propose a form to fill in (we should base our selection on the email)
- # DEPRECATED #    if the_user(request):
- # DEPRECATED #        # Fill a disabled form with institution
- # DEPRECATED #        # Please logout to register another user
- # DEPRECATED #        sons.append(Raw(page=p, title=STEP2_TITLE, togglable=False, html="User created"))
- # DEPRECATED #        start_step += 1
- # DEPRECATED #    else:
- # DEPRECATED #        sons.append(CreateForm(page = p, title = STEP2_TITLE, togglable = False, object = 'slice')) #institution'))
- # DEPRECATED #
- # DEPRECATED #    # STEP3
- # DEPRECATED #    # Please should your prefered authentication method
- # DEPRECATED #    # This step should allow the user to either choose the user or managed mode in MySlice
- # DEPRECATED #    sons.append(Raw(page = p, title = STEP3_TITLE, togglable = False, html = STEP2_HTML))
- # DEPRECATED #
- # DEPRECATED #    # Step 4: Request a slice (optional)
- # DEPRECATED #    sons.append(CreateForm(page = p, title = STEP4_TITLE, togglable = False, object = 'slice'))
- # DEPRECATED #
- # DEPRECATED #    # Step 5: Your request is waiting for validation
- # DEPRECATED #    # Periodic refresh
- # DEPRECATED #    sons.append(Raw(page = p, title = STEP5_TITLE, togglable = False, html = STEP4))
- # DEPRECATED #
- # DEPRECATED #    # Step 6: Account validation  = welcome for newly validated users
- # DEPRECATED #    # . delegation
- # DEPRECATED #    # . platforms
- # DEPRECATED #    # . slice
- # DEPRECATED #    # . pointers
- # DEPRECATED #    sons.append(Raw(page = p, title = STEP6_TITLE, togglable = False, html = STEP5))
- # DEPRECATED #
- # DEPRECATED #    wizard = Wizard(
- # DEPRECATED #        page       = p,
- # DEPRECATED #        title      = WIZARD_TITLE,
- # DEPRECATED #        togglable  = False,
- # DEPRECATED #        sons       = sons,
- # DEPRECATED #        start_step = start_step,
- # DEPRECATED #    )
- # DEPRECATED #
- # DEPRECATED #    p << wizard.render(request) # in portal page if possible
- # DEPRECATED #
- # DEPRECATED #    return p.render()
- # DEPRECATED ## view for my_account
- # DEPRECATED # class MyAccountView(TemplateView):
- # DEPRECATED #    template_name = "my_account.html"
- # DEPRECATED #    
- # DEPRECATED #    def from_process(self, request, **cleaned_data): 
- # DEPRECATED #        #if request.method == 'POST':
- # DEPRECATED #         #       if request.POST['submit_name']:
- # DEPRECATED #        if 'fname' in request.POST:            
- # DEPRECATED #                messsag= "Got Name"
- # DEPRECATED #                #return render(request, 'portal/my_account.html')
- # DEPRECATED #                #response = HttpResponse("Here's the text of the Web page.")    
- # DEPRECATED #                return HttpResponse(message)
- # DEPRECATED #            
- # DEPRECATED #    def get_context_data(self, **kwargs):
- # DEPRECATED #        page = Page(self.request)
- # DEPRECATED #        context = super(MyAccountView, self).get_context_data(**kwargs)
- # DEPRECATED #        context['person']   = self.request.user
- # DEPRECATED #        # XXX This is repeated in all pages
- # DEPRECATED #        # more general variables expected in the template
- # DEPRECATED #        context['title'] = 'User Profile Page'
- # DEPRECATED #        # the menu items on the top
- # DEPRECATED #        context['topmenu_items'] = topmenu_items('my_account', self.request)
- # DEPRECATED #        # so we can sho who is logged
- # DEPRECATED #        context['username'] = the_user(self.request)
- # DEPRECATED #        context.update(page.prelude_env())
- # DEPRECATED #        return context
- # View for platforms
- class PlatformsView(TemplateView):
-     template_name = "platforms.html"
-     def get_context_data(self, **kwargs):
-         page = Page(self.request)
-         #network_query  = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type')
-         network_query  = Query().get('local:platform').select('platform','platform_longname','gateway_type')
-         page.enqueue_query(network_query)
-         page.expose_js_metadata()
-         page.expose_queries()
-         networklist = Hazelnut(
-             page  = page,
-             title = 'List',
-             domid = 'checkboxes',
-             # this is the query at the core of the slice list
-             query = network_query,
-             query_all = network_query,
-             checkboxes = False,
-             datatables_options = {
-             # for now we turn off sorting on the checkboxes columns this way
-             # this of course should be automatic in hazelnut
-             'aoColumns'      : [None, None, None, None, {'bSortable': False}],
-             'iDisplayLength' : 25,
-             'bLengthChange'  : True,
-             },
-         )
- #
- #        networklist = SimpleList(
- #            title = None,
- #            page  = page,
- #            key   = 'platform',
- #            query = network_query,
- #        )
-         context = super(PlatformsView, self).get_context_data(**kwargs)
-         context['person']   = self.request.user
-         context['networks'] = networklist.render(self.request)
-         # XXX This is repeated in all pages
-         # more general variables expected in the template
-         context['title'] = 'Platforms connected to MySlice'
-         # the menu items on the top
-         context['topmenu_items'] = topmenu_items('Platforms', self.request)
-         # so we can sho who is logged
-         context['username'] = the_user(self.request)
-         context.update(page.prelude_env())
-         return context
  # View for 1 platform and its details
  class PlatformView(TemplateView):
      template_name = "platform.html"
@@@ -659,7 -174,7 +174,7 @@@ class AccountView(TemplateView)
          context ['firstname'] = config.get('firstname',"?")
          context ['lastname'] = config.get('lastname',"?")
          context ['fullname'] = context['firstname'] +' '+ context['lastname']
 -        context ['affiliation'] = config.get('affiliation',"Unknown Affiliation")
 +        context ['authority'] = config.get('authority',"Unknown Authority")
          #context['users'] = userlist.render(self.request)
          
          # XXX This is repeated in all pages
          #context.update(page.prelude_env())
          return context
  
- #my_acc form value processing
 -
 -
 -
 -
 -
 -@login_required
 -# View for my_account form
 -#def my_account(request):
 -#    return render(request, 'my_account.html', {
 -#        #'form': form,
 -#        'topmenu_items': topmenu_items('My Account', request),
 -#        'username': the_user (request)
 -#    })
 -
 -
  @login_required
- def acc_process(request):
-     
+ #my_acc form value processing
+ def account_process(request):
 -    # getting the user_id from the session [now hardcoded]
 -    get_user = PendingUser.objects.get(id='1') # here we will get the id/email from session e.g., person.email
 -    # getting user info from manifold
 +    user_query  = Query().get('local:user').select('password','config')
 +    user_details = execute_query(request, user_query)
 +
      if 'submit_name' in request.POST:
          edited_first_name =  request.POST['fname']
          edited_last_name =  request.POST['lname']
 -        #email = 'test_email@gmail.com'
 -        #password = 'test_pp'
 -        #message = 'F_Name: %s L_name: %s dummy_pp: %s' % (first_name, last_name, password)
 -        #site = None
          
 -        # insert into DB [needed for registration page]
 -        #approach borrowed from register view     
 -        #new_user = PendingUser.objects.create_inactive_user(edited_first_name, edited_last_name, email,  password, site) 
 -        #conventional approach
 -        #b = PendingUser(first_name=edited_first_name, last_name=edited_last_name)
 -        #b.save()
 +        config={}
 +        for user_config in user_details:
 +        #email = user_detail['email']
 +            if user_config['config']:
 +                config = json.loads(user_config['config'])
 +                config['firstname'] = edited_first_name
 +                config['lastname'] = edited_last_name
 +                config['authority'] = config.get('authority','Unknown Authority')
 +                updated_config = json.dumps(config)
          
 -        # select and update [will be used throughout this view]
 -        # select the logged in user [for the moment hard coded]
 -        #get_user = PendingUser.objects.get(id='1') # here we will get the id/email from session e.g., person.email
 -        # update first and last name
 -        #get_user.first_name = edited_first_name
 -        #get_user.last_name = edited_last_name
 -        #get_user.save()
 -        #user_params = {'config':'hello'}
 -        #query = Query.update('local:user').set(user_params).select('config')
 -        #results = execute_query(request,query)
 -        #if not results:
 -        #    raise Exception, "Failed to update user: %s" % user_params['config']
 -        #result, = results
 -        #return result['config']
 -        # create user is working fine :)
 -        #user_params = ({'config':'"firstname":"HELLO"'},{'password':'hello'})
 -        #user_params = { 'config':'{"firstname":"HEY"}'}
 -        #user_params = {'email':'aa@aa.com','password':'demo'}
 -        #manifold_add_user(request,user_params)        
 -        #manifold_update_user(request,user_params)
 -
 +        # updating config local:user in manifold       
 +        user_params = { 'config': updated_config}
 +        manifold_update_user(request,user_params)
 +        # this will be depricated, we will show the success msg in same page
          return HttpResponse('Sucess: First Name and Last Name Updated!')       
      elif 'submit_pass' in request.POST:
          edited_password = request.POST['password']
 -        # select the logged in user [for the moment hard coded]
 -        #get_user = PendingUser.objects.get(id='1') # here we will get the id/email from session e.g., person.email
 -        # update password
 -        get_user.password = edited_password
 -        get_user.save()
 +        
 +        for user_pass in user_details:
 +            user_pass['password'] = edited_password
 +        #updating password in local:user
 +        user_params = { 'password': user_pass['password']}
 +        manifold_update_user(request,user_params)
 +
          return HttpResponse('Success: Password Changed!!')
      elif 'generate' in request.POST:
          # Generate public and private keys using SFA Library
          k = Keypair(create=True)
          public_key = k.get_pubkey_string()
          private_key = k.as_pem()
 -       
 -# DEPRECATED
 -#        KEY_LENGTH = 2048
 -#
 -#        def blank_callback():
 -#            "Replace the default dashes"
 -#            return
 -#
 -#        # Random seed
 -#        Rand.rand_seed (os.urandom (KEY_LENGTH))
 -#        # Generate key pair
 -#        key = RSA.gen_key (KEY_LENGTH, 65537, blank_callback)
 -#        # Create memory buffers
 -#        pri_mem = BIO.MemoryBuffer()
 -#        pub_mem = BIO.MemoryBuffer()
 -#        # Save keys to buffers
 -#        key.save_key_bio(pri_mem, None)
 -#        key.save_pub_key_bio(pub_mem)
 -#
 -#        # Get keys 
 -#        public_key = pub_mem.getvalue()
 -#        private_key = pri_mem.getvalue()
          private_key = ''.join(private_key.split())
          public_key = "ssh-rsa " + public_key
          # Saving to DB
@@@ -790,6 -356,31 +303,6 @@@ def register_4m_f4f(request)
              k = Keypair(create=True)
              public_key = k.get_pubkey_string()
              private_key = k.as_pem()
 -
 -# DEPRECATED
 -#            #import os
 -#            #from M2Crypto import Rand, RSA, BIO
 -#            
 -#            KEY_LENGTH = 2048
 -#
 -#            def blank_callback():
 -#                "Replace the default dashes"
 -#                return
 -#
 -#            # Random seed
 -#            Rand.rand_seed (os.urandom (KEY_LENGTH))
 -#            # Generate key pair
 -#            key = RSA.gen_key (KEY_LENGTH, 65537, blank_callback)
 -#            # Create memory buffers
 -#            pri_mem = BIO.MemoryBuffer()
 -#            pub_mem = BIO.MemoryBuffer()
 -#            # Save keys to buffers
 -#            key.save_key_bio(pri_mem, None)
 -#            key.save_pub_key_bio(pub_mem)
 -#            # Get keys 
 -#            public_key = pub_mem.getvalue()
 -#            private_key = pri_mem.getvalue()
 -
              private_key = ''.join(private_key.split())
              public_key = "ssh-rsa " + public_key
              # Saving to DB