Changeset 341 for LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Address.pm
- Timestamp:
- 08/14/09 17:00:11 (15 years ago)
- File:
-
- 1 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
Note: See TracChangeset
for help on using the changeset viewer.