# -*- coding: utf8 -*-
# $Id: prvInetAddress_change.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
# import the container base-class:
from webUI.wuiContainer import *
from webUI.wuiFeedbackOK import *
from webUI.wuiFeedbackWarning import *
from webUI.wuiHidden import *
from webUI.wuiFieldset import *
from webUI.wuiSubmit import *
from webUI.wuiButton import *
from webUI.wuiAttribute import *
class PrvInetAddress_change(WuiContainer):
"""TODO: doc string"""
def __init__(self, envoy, parent, uid, entity, oOp):
"""TODO: doc string"""
super(PrvInetAddress_change, 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] = entity.strEID(oOp)
dictMemberValue[1] = self.envoy().storage().firstParamValueByName('url')
entity.change(oOp, dictMemberValue[1])
oOp.commit()
self.escalateFeedback(WuiFeedbackOK(envoy, 'feedback', 'OK. Daten wurden gendert.'), 'http://localhost/pageInetAddress.html/show?'+self.parent().shortParamName+'='+entity.strEID(oOp) )
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(WuiFieldset(self.envoy(), self, uid='core', label='Adresse ndern', bubble='Klicken Sie hier um mehr ber die Kartei "Adresse ndern" zu erfahren.', style=None))
self.addChild(WuiAttribute(self.envoy(), self, uid='eid', label='#', bubble='Mehr Infos zur EID', style=None, link=None, value=dictMemberValue[0], visible=True, editable=False, required=False))
self.addChild(WuiAttribute(self.envoy(), self, uid='url', label='WWW-Adresse', bubble='Mehr Infos zur URL', style=None, link=None, value=dictMemberValue[1], visible=True, editable=True, required=False))
self.addChild(WuiSubmit(self.envoy(), self, uid='save', label='Speichern', bubble='Speichern', style=None, link='../pageInetAddress.html/change'))
self.addChild(WuiButton(self.envoy(), self, uid='cancel', label='Abbrechen', bubble='Abbrechen', style=None, link='../pageInetAddress.html/show'))
def run(self):
list = []
for wid in self.getChildren():
wid.run()
list.append(wid.getOutput())
dictVars = {'list':list}
self.setOutput(psp.PSP(self.envoy().req(), filename='../psp/wuiMember_detailRow.psp', vars=dictVars))
|