prvPseudonym_signon.py :  » Web-Frameworks » pyswarm » pyswarm-0.7.1 » PetStore » clients » modpython » testweb » webapp » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Web Frameworks » pyswarm 
pyswarm » pyswarm 0.7.1 » PetStore » clients » modpython » testweb » webapp » prvPseudonym_signon.py
# -*- coding: utf8 -*-

# $Id: prvPseudonym_signon.py 568 2007-05-01 18:02:20Z ahatzis $

#   pyswarm - Model-driven development of Python applications
#   -------------------------------------------------------------------------
#
#   Copyright (C) 2006-2007 Free Software Foundation Europe e.V.
#
#   The main author of pyswarm is Anastasios Hatzis, though contributions
#   are welcome from others. An author list can be found in the file AUTHORS.
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License along
#   with this program; if not, write to the Free Software Foundation, Inc.,
#   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#   The licensor of pyswarm is the Free Software Foundation Europe
#   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zrich,
#   Switzerland, email:ftf@fsfeurope.org.
#
#   -------------------------------------------------------------------------
#   http://pyswarm.sourceforge.net/
#   =========================================================================

# import mod_python specific modules:
from mod_python import psp

from serve.Exceptions import *

# import the container base-class:
from webUI.wuiContainer import *
from webUI.wuiFeedbackOK import *
from webUI.wuiFeedbackError import *
from webUI.wuiFeedbackWarning import *
from webUI.wuiFeedbackNotice import *
from webUI.wuiHidden import *
from webUI.wuiFieldset import *
from webUI.wuiSubmit import *
from webUI.wuiButton import *
from webUI.wuiEntry import *
from webUI.wuiPassword import *


class PrvPseudonym_signon(WuiContainer):
    """TODO: doc string"""

    def __init__(self, envoy, parent, uid, entity, oOp):
        """TODO: doc string"""
        super(PrvPseudonym_signon, self).__init__(envoy, parent, uid)

        # And add hidden form fields to the child
        #self.addChild(wuiHidden(self.envoy(), self, uid='sso', value=self.envoy().strSSO()))
        self.addChild(WuiHidden(self.envoy(), self, uid=self.parent().shortParamName, value=entity.strEID(oOp)))
        self.addChild(WuiHidden(self.envoy(), self, uid='action', value='execute'))

        dictMemberValue = {}
        if self.envoy().storage().firstParamValueByName('action')=='execute':
            # editable members only are readable from HTTP parameter field storage!
            # non-editable members are always read from business logic.
            dictMemberValue[0] = self.envoy().storage().firstParamValueByName('login')
            dictMemberValue[1] = self.envoy().storage().firstParamValueByName('password')

#            eTicket = entity.signOnPseudonym(oOp, dictMemberValue[0], dictMemberValue[1], self.envoy().req().connection.remote_ip, self.envoy().existingCookieIdentifier())
#
#            self.envoy().successPseudoSignOn(eTicket, oOp)
#            oOp.commit()
#            self.escalateFeedback(wuiFeedbackOK(envoy, 'feedback', 'OK. Daten wurden gendert.'), 'http://localhost/pageInetAddress.html/show?inetEID=2')

            try:
                eTicket = entity.signOnPseudonym(oOp, dictMemberValue[0], dictMemberValue[1], self.envoy().req().connection.remote_ip, self.envoy().existingCookieIdentifier())

                self.envoy().successPseudoSignOn(eTicket, oOp)
                oOp.commit()
                self.escalateFeedback(WuiFeedbackOK(envoy, 'feedback', 'Data has been changed.'), 'http://localhost/pageInetAddress.html/show?inetEID=2')

            except EntityLogicError, strError:
                self.addChild(WuiFeedbackError(envoy, 'feedback', strError.errorMessage()))
                #self.escalateFeedback(wuiFeedbackError(envoy, 'feedback', 'FEHLER. Anmeldung gescheitert'), 'http://localhost/pagePseudonym.html/signon?zoneEID=1&login='+dictMemberValue[0] )
                self.addChild(WuiEntry(self.envoy(), self, uid='login', label='email address', bubble='More information on login email address', style=None, link=None, value=dictMemberValue[0], visible=True, editable=True, required=False))
                self.addChild(WuiPassword(self.envoy(), self, uid='password', label='Password', bubble='More information on password', style=None, link=None, value=dictMemberValue[1], visible=True, editable=True, required=False))
                self.addChild(WuiSubmit(self.envoy(), self, uid='save', label='Sign on securely', bubble='Sign on securely', style=None, link='../pageInetAddress.html/change'))
                self.addChild(WuiButton(self.envoy(), self, uid='password_forgotten', label='Password forgotten?', bubble='Password forgotten?', style=None, link='../pageInetAddress.html/show'))
                self.addChild(WuiButton(self.envoy(), self, uid='EmailAddress_changed', label='eMail address changed?', bubble='eMail address changed?', style=None, link='../pageInetAddress.html/show'))
                self.addChild(WuiButton(self.envoy(), self, uid='more_help', label='Weitere Hilfe', bubble='Weitere Hilfe', style=None, link='../pageInetAddress.html/show'))
            except ServiceNotAvailableError, strError:
                self.addChild(WuiFeedbackError(envoy, 'feedback', 'Fehler: '+strError.errorMessage()))
                #self.escalateFeedback(wuiFeedbackError(envoy, 'feedback', 'FEHLER. Anmeldung gescheitert'), 'http://localhost/pagePseudonym.html/signon?zoneEID=1&login='+dictMemberValue[0] )
                self.addChild(WuiEntry(self.envoy(), self, uid='login', label='eMail-Adresse', bubble='More information on login email address', style=None, link=None, value=dictMemberValue[0], visible=True, editable=True, required=False))
                self.addChild(WuiPassword(self.envoy(), self, uid='password', label='Password', bubble='More information on password', style=None, link=None, value=dictMemberValue[1], visible=True, editable=True, required=False))
                self.addChild(WuiSubmit(self.envoy(), self, uid='save', label='Sign on securely', bubble='Sign on securely', style=None, link='../pageInetAddress.html/change'))
                self.addChild(WuiButton(self.envoy(), self, uid='password_forgotten', label='Password forgotten?', bubble='Password forgotten?', style=None, link='../pageInetAddress.html/show'))
                self.addChild(WuiButton(self.envoy(), self, uid='EmailAddress_changed', label='eMail address changed?', bubble='eMail address changed?', style=None, link='../pageInetAddress.html/show'))
                self.addChild(WuiButton(self.envoy(), self, uid='more_help', label='More help', bubble='More help', style=None, link='../pageInetAddress.html/show'))
        else:
#            # user has to put in values for the desired action, thus member values have to be read from business logic.
#            dictMemberValue[0] = entity.strEID(oOp)
#            dictMemberValue[1] = entity.getUrl(oOp)
#            #self.escalateFeedback(wuiFeedbackWarning(envoy, 'feedback', 'Warnung. Daten knnten wirklich gendert werden.'), 'http://localhost/pageInetAddress.html/change?sso=xxx&inetEID=2')
            self.addChild(WuiFeedbackNotice(envoy, 'feedback', 'Nothing happened yet'))
            self.addChild(WuiEntry(self.envoy(), self, uid='login', label='email address', bubble='More information on login email address', style=None, link=None, value='', visible=True, editable=True, required=False))
            self.addChild(WuiPassword(self.envoy(), self, uid='password', label='Password', bubble='More information on password', style=None, link=None, value='', visible=True, editable=True, required=False))
            self.addChild(WuiSubmit(self.envoy(), self, uid='save', label='Sign on securely', bubble='Sign on securely', style=None, link='../pageInetAddress.html/change'))
            self.addChild(WuiButton(self.envoy(), self, uid='password_forgotten', label='Password forgotten?', bubble='Password forgotten?', style=None, link='../pageInetAddress.html/show'))
            self.addChild(WuiButton(self.envoy(), self, uid='EmailAddress_changed', label='eMail address changed?', bubble='eMail address changed?', style=None, link='../pageInetAddress.html/show'))
            self.addChild(WuiButton(self.envoy(), self, uid='more_help', label='More help', bubble='More help', style=None, link='../pageInetAddress.html/show'))


    def run(self):
        for wid in self.getChildren():
            wid.run()

        dictVars = {'eid':self.getChild(self.parent().shortParamName).getOutput(),
                    'action':self.getChild('action').getOutput(),
                    'login':self.getChild('login').getOutput(),
                    'password':self.getChild('password').getOutput(),
                    'save':self.getChild('save').getOutput(),
                    'password_forgotten':self.getChild('password_forgotten').getOutput(),
                    'EmailAddress_changed':self.getChild('EmailAddress_changed').getOutput(),
                    'more_help':self.getChild('more_help').getOutput(),
                    'feedback':self.getChild('feedback').getOutput(),
                    }

        self.setOutput(psp.PSP(self.envoy().req(), filename='../psp/signon_form.psp', vars=dictVars))
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.