Changeset 341
- Timestamp:
- 08/14/09 17:00:11 (15 years ago)
- Location:
- LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Address.pm
r329 r341 58 58 } 59 59 60 sub get_field { 61 my ($self, $field) = @_; 62 if ((grep { $field eq $_ } __PACKAGE__->_address_fields()) 63 && (my $fsite = $self->get_c_field('site'))) { 64 my $site = $self->base->get_object('site', $fsite); 65 if ($site) { 66 return 67 $site->_get_c_field($field); 68 } 69 } else { 70 return $self->SUPER::get_field($field); 71 } 72 } 73 74 sub set_fields { 75 my ($self, %data) = @_; 76 my %fdata; 77 foreach my $attr (keys %data) { 78 $attr =~ /^site$/ and do { 79 my $site = 80 $self->base->get_object('site', 81 $data{$attr}); 82 if ($site) { 83 foreach (__PACKAGE__->_address_fields()) { 84 $fdata{$_} = undef; 85 } 86 }; 87 $fdata{$attr} = $data{$attr} || undef; 88 } 89 } 90 if (keys %fdata) { 91 $self->SUPER::set_fields(%fdata); 92 } 93 } 94 95 60 96 1; 61 97 -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm
r337 r341 173 173 $res->{expire} =~ /(\d+) days\s*(\w)?/; 174 174 return $1 + ($2 ? 1 : 0); 175 } elsif ((grep { $field eq $_ } __PACKAGE__->_address_fields()) 176 && (my $fsite = $self->get_c_field('site'))) { 177 my $site = $self->base->get_object('site', $fsite); 178 if ($site) { 179 return $site->get_c_field($field); 180 } 175 181 } else { 176 182 return $self->SUPER::get_field($field); … … 208 214 next; 209 215 }; 216 $attr =~ /^site$/ and do { 217 my $site = $self->base->get_object('site', $data{$attr}); 218 if ($site) { 219 foreach (__PACKAGE__->_address_fields()) { 220 $fdata{$_} = undef; 221 } 222 } 223 }; 210 224 $fdata{$attr} = $data{$attr} || undef; 211 225 } -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/objects.pm
r340 r341 23 23 24 24 Account base access over standard unix file format. 25 26 =cut 27 28 # This fields are special in sense they may come from site field 29 sub _address_fields { qw(l postalCode streetAddess postOfficeBox st) } 25 30 26 31 =head1 FUNCTIONS
Note: See TracChangeset
for help on using the changeset viewer.