# -*- coding: utf8 -*-
# $Id: prvPseudonym_signoff.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.wuiHidden import *
from webUI.wuiFieldset import *
from webUI.wuiSubmit import *
from webUI.wuiButton import *
from webUI.wuiEntry import *
from webUI.wuiPassword import *
class PrvPseudonym_signoff(WuiContainer):
"""TODO: doc string"""
def __init__(self, envoy, parent, uid, entity, oOp):
"""TODO: doc string"""
super(PrvPseudonym_signoff, 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)))
dictMemberValue = {}
# 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')
try:
eTicket = entity.signOff(oOp)
self.envoy().successPseudoSignOff(eTicket, oOp)
oOp.commit()
self.escalateFeedback(WuiFeedbackOK(envoy, 'feedback', 'OK. Daten wurden gendert.'), 'http://localhost/pageInetAddress.html/show?inetEID=2' )
except EntityLogicError, strError:
#self.addChild(wuiFeedbackError(envoy, 'feedback', 'Fehler: '+strError))
#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='Mehr Infos zu Ihrer Login-eMail-Adresse', style=None, link=None, value=dictMemberValue[0], visible=True, editable=True, required=False))
self.addChild(WuiPassword(self.envoy(), self, uid='password', label='Passwort', bubble='Mehr Infos zu Ihrem Passwort', style=None, link=None, value=dictMemberValue[1], visible=True, editable=True, required=False))
self.addChild(WuiSubmit(self.envoy(), self, uid='save', label='SICHER ANMELDEN', bubble='SICHER ANMELDEN', style=None, link='../pageInetAddress.html/change'))
self.addChild(WuiButton(self.envoy(), self, uid='password_forgotten', label='Passwort vergessen?', bubble='Passwort vergessen?', style=None, link='../pageInetAddress.html/show'))
self.addChild(WuiButton(self.envoy(), self, uid='EmailAddress_changed', label='eMail-Adresse gendert?', bubble='eMail-Adresse gendert?', 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'))
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()
}
self.setOutput(psp.PSP(self.envoy().req(), filename='../psp/signon_form.psp', vars=dictVars))
|