Subject: Developers of Sympa
List archive
[sympa-dev] Soap Function to change owner with update_admin_user strange behaviour
- From: "Tsapline Sylvain" <address@concealed>
- To: <address@concealed>
- Subject: [sympa-dev] Soap Function to change owner with update_admin_user strange behaviour
- Date: Mon, 21 Jan 2008 18:11:24 +0100
Hi
We partially
succeed to implement a soap modifcation to allow owner
update.
The call to the
new soap function is successfull as well as the modification of the email
owner.
Owner Email
Modification appears in the database.
Problem is
whenever the apache instance is restarted all the modifications are lost
!
It seem to us to
be a small bug :)
What would you
recommend to make it work ?
Thanks in
advance.
# diff sympasoap.pm sympasoap.pm.orig
678,740d677
< sub changeOwner {
< my $class = shift;
< my $listname = shift;
< my $newemail = shift;
<
< my $sender = $ENV{'USER_EMAIL'};
< my $robot = $ENV{'SYMPA_ROBOT'};
< my $remote_application_name = $ENV{'remote_application_name'};
<
< &Log::do_log('info', 'SOAP changeOwner(list = %s\@%s) from %s via proxy application %s', $listname,$robot,$sender,$remote_application_name);
<
< unless ($sender) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('User not specified')
< ->faultdetail('Use a trusted proxy or login first ');
< }
<
< my @resultSoap;
<
< unless ($listname) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Incorrect number of parameters')
< ->faultdetail('Use : <list>');
< }
<
< unless ($newemail) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Incorrect number of parameters')
< ->faultdetail('Use : <list>');
< }
<
< &Log::do_log('debug', 'SOAP changeOwner(%s,%s)', $listname,$robot);
<
< my $list = new List ($listname, $robot);
< unless ($list) {
< &Log::do_log('info', 'changeOwner %s@%s from %s refused, unknown list', $listname,$robot,$sender);
< die SOAP::Fault->faultcode('Client')
< ->faultstring('unknown list')
< ->faultdetail("unknown list $listname");
< }
<
< # check authorization
< my $jpi_val = $list->am_i('owner', $sender);
< &Log::do_log('info', 'changeOwner owner =%s', $jpi_val);
<
< unless (($list->am_i('owner', $sender)) || (&List::is_listmaster($sender))) {
< &Log::do_log('info', 'changeOwner %s from %s not allowed',$listname,$sender);
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Not allowed')
< ->faultdetail("Not allowed");
< }
<
< if( !defined($list-> ($sender, 'owner', { 'email' => $newemail })) )
< {
< &Log::do_log('info','changeOwner: processing error !');
< die SOAP::Fault->faultcode('Client')
< ->faultstring('owner for list not changed.')
< ->faultdetail("list $listname can't change owner");
< }
<
< return 1;
< }
<
678,740d677
< sub changeOwner {
< my $class = shift;
< my $listname = shift;
< my $newemail = shift;
<
< my $sender = $ENV{'USER_EMAIL'};
< my $robot = $ENV{'SYMPA_ROBOT'};
< my $remote_application_name = $ENV{'remote_application_name'};
<
< &Log::do_log('info', 'SOAP changeOwner(list = %s\@%s) from %s via proxy application %s', $listname,$robot,$sender,$remote_application_name);
<
< unless ($sender) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('User not specified')
< ->faultdetail('Use a trusted proxy or login first ');
< }
<
< my @resultSoap;
<
< unless ($listname) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Incorrect number of parameters')
< ->faultdetail('Use : <list>');
< }
<
< unless ($newemail) {
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Incorrect number of parameters')
< ->faultdetail('Use : <list>');
< }
<
< &Log::do_log('debug', 'SOAP changeOwner(%s,%s)', $listname,$robot);
<
< my $list = new List ($listname, $robot);
< unless ($list) {
< &Log::do_log('info', 'changeOwner %s@%s from %s refused, unknown list', $listname,$robot,$sender);
< die SOAP::Fault->faultcode('Client')
< ->faultstring('unknown list')
< ->faultdetail("unknown list $listname");
< }
<
< # check authorization
< my $jpi_val = $list->am_i('owner', $sender);
< &Log::do_log('info', 'changeOwner owner =%s', $jpi_val);
<
< unless (($list->am_i('owner', $sender)) || (&List::is_listmaster($sender))) {
< &Log::do_log('info', 'changeOwner %s from %s not allowed',$listname,$sender);
< die SOAP::Fault->faultcode('Client')
< ->faultstring('Not allowed')
< ->faultdetail("Not allowed");
< }
<
< if( !defined($list-> ($sender, 'owner', { 'email' => $newemail })) )
< {
< &Log::do_log('info','changeOwner: processing error !');
< die SOAP::Fault->faultcode('Client')
< ->faultstring('owner for list not changed.')
< ->faultdetail("list $listname can't change owner");
< }
<
< return 1;
< }
<
# diff sympa.wsdl sympa.wsdl.orig
224,233d223
< <message name="changeOwnerRequest">
< <part name="list" type="xsd:string"/>
< <part name="email" type="xsd:string"/>
< <part name="newemail" type="xsd:string"/>
< </message>
<
<
< <message name="changeOwnerResponse">
< <part name="return" type="xsd:boolean"/>
< </message>
314,317d303
< <operation name="chnageOwner">
< <input message="tns:changeOwnerRequest" />
< <output message="tns:changeOwnerResponse" />
< </operation>
572,584d557
< <operation name="changeOwner">
< <soap:operation soapAction="urn:sympasoap#changeOwner"/>
< <input>
< <soap:body use="encoded"
< namespace="urn:sympasoap"
< encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
< </input>
< <output>
< <soap:body use="encoded"
< namespace="urn:sympasoap"
< encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
< </output>
< </operation>
224,233d223
< <message name="changeOwnerRequest">
< <part name="list" type="xsd:string"/>
< <part name="email" type="xsd:string"/>
< <part name="newemail" type="xsd:string"/>
< </message>
<
<
< <message name="changeOwnerResponse">
< <part name="return" type="xsd:boolean"/>
< </message>
314,317d303
< <operation name="chnageOwner">
< <input message="tns:changeOwnerRequest" />
< <output message="tns:changeOwnerResponse" />
< </operation>
572,584d557
< <operation name="changeOwner">
< <soap:operation soapAction="urn:sympasoap#changeOwner"/>
< <input>
< <soap:body use="encoded"
< namespace="urn:sympasoap"
< encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
< </input>
< <output>
< <soap:body use="encoded"
< namespace="urn:sympasoap"
< encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
< </output>
< </operation>
Sylvain Tsapline -----------------------------------
PROSODIE - Département Systèmes
PROSODIE - Direction des Architectures et des moyens
techniques
e-mail :
address@concealed
----------------------------------------------------
www.prosodie.com
-
[sympa-dev] Soap Function to change owner with update_admin_user strange behaviour,
Tsapline Sylvain, 01/21/2008
- Re: [sympa-dev] Soap Function to change owner with update_admin_user, David Verdin, 01/22/2008
Archive powered by MHonArc 2.6.19+.