Changeset 488
- Timestamp:
- 10/04/09 17:11:58 (15 years ago)
- Location:
- LATMOS-Accounts/lib/LATMOS/Accounts
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Acls.pm
r481 r488 34 34 35 35 Special keyword C<@CREATE> and C<@DELETE> can be used to allow or deny object 36 creation and deletion. In this case USER in form C<$...> and read permission 37 have no effect (see below). C<*> do not include C<@CREATE> and C<@DELETE> action. 36 creation and deletion. In this case read permission and USER in form C<$...> for 37 C<@CREATE> have no effect (see below). C<*> do not include C<@CREATE> and 38 C<@DELETE> action. 38 39 39 40 =item USER can be -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm
r487 r488 226 226 sub create_c_object { 227 227 my ($self, $otype, $id, %cdata) = @_; 228 $self->check_acl($otype, '@CREATE', 'w') or do { 229 $self->log(LA_WARN, 'permission denied to create object type %s', 230 $otype); 231 return; 232 }; 233 $self->_create_c_object($otype, $id, %cdata); 234 } 235 236 sub _create_c_object { 237 my ($self, $otype, $id, %cdata) = @_; 228 238 229 239 # populating default value … … 258 268 259 269 sub delete_object { 270 my ($self, $otype, $id) = @_; 271 my $obj = $self->get_object($otype, $id) or do { 272 $self->log(LA_WARN, 'Cannot delete %s/%s: no such object', 273 $otype, $id); 274 return; 275 }; 276 $self->check_acl($obj, '@DELETE', 'w') or do { 277 $self->log(LA_WARN, 'permission denied to delete %s/%s', 278 $otype, $id); 279 return; 280 }; 281 $self->_delete_object($otype, $id); 282 } 283 284 sub _delete_object { 260 285 my ($self, $otype, $id) = @_; 261 286 my $pclass = $self->_load_obj_class($otype); … … 384 409 } 385 410 } elsif(!$options{nocreate}) { 386 if ($self-> create_c_object($srcobj->type, $srcobj->id, %data)) {411 if ($self->_create_c_object($srcobj->type, $srcobj->id, %data)) { 387 412 return 'CREATE' 388 413 } else { -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Mail.pm
r351 r488 122 122 } 123 123 124 sub delete_object {124 sub _delete_object { 125 125 my ($self, $otype, $id) = @_; 126 126 -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm
r469 r488 278 278 $res += $f->set_c_fields(forward => $data{$attr}); 279 279 } else { 280 if ($self->base-> create_c_object('aliases', $self->id,280 if ($self->base->_create_c_object('aliases', $self->id, 281 281 forward => $data{$attr})) { 282 282 $res++; … … 287 287 } 288 288 } else { 289 if ($self->base-> delete_object('aliases', $self->id)) {289 if ($self->base->_delete_object('aliases', $self->id)) { 290 290 $res++; 291 291 } else { … … 301 301 $fmainaddress = $self->id . '-' . join('', map { ('a'..'z')[rand(26)] } 302 302 (0..4)); 303 $self->base-> create_c_object(303 $self->base->_create_c_object( 304 304 'address', $fmainaddress, 305 305 user => $self->id, -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
r459 r488 333 333 } 334 334 335 sub delete_object {335 sub _delete_object { 336 336 my ($self, $otype, $id, %data) = @_; 337 337 -
LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm
r317 r488 177 177 foreach (keys %exists) { 178 178 if (!$srcexists{$_}) { 179 if ($destbase-> delete_object($otype, $_)) {179 if ($destbase->_delete_object($otype, $_)) { 180 180 print "delete " . $destbase->label . '::' . $otype . '::' . "$_\n"; 181 181 } else {
Note: See TracChangeset
for help on using the changeset viewer.