Changeset 389 for trunk/dns.cgi


Ignore:
Timestamp:
09/21/12 13:08:05 (12 years ago)
Author:
Kris Deugau
Message:

/trunk

Add location support to addRec() and updateRec().
Extend add/update record UI to make sure the user can only update
the location if they have record_locchg permission, by retrieving
the parent/original location for add/update respectively.
See #10.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dns.cgi

    r388 r389  
    642642        unless ($permissions{admin} || $permissions{record_create});
    643643
     644    # location check - if user does not have record_locchg, set $webvar{location} to default location for zone
     645    my $parloc = getZoneLocation($dbh, $webvar{revrec}, $webvar{parentid});
     646    $webvar{location} = $parloc unless ($permissions{admin} || $permissions{record_locchg});
     647
    644648    my @recargs = ($dbh,$webvar{defrec},$webvar{revrec},$webvar{parentid},
    645         \$webvar{name},\$webvar{type},\$webvar{address},$webvar{ttl});
     649        \$webvar{name},\$webvar{type},\$webvar{address},$webvar{ttl},$webvar{location});
    646650    if ($webvar{type} == $reverse_typemap{MX} or $webvar{type} == $reverse_typemap{SRV}) {
    647651      push @recargs, $webvar{distance};
     
    701705        unless ($permissions{admin} || $permissions{record_edit});
    702706
     707    # retain old location if user doesn't have permission to fiddle locations
     708    my $oldrec = getRecLine($dbh, $webvar{defrec}, $webvar{revrec}, $webvar{id});
     709    $webvar{location} = $oldrec->{location} unless ($permissions{admin} || $permissions{record_locchg});
     710
    703711    my ($code,$msg) = updateRec($dbh,$webvar{defrec},$webvar{revrec},$webvar{id},$webvar{parentid},
    704         \$webvar{name},\$webvar{type},\$webvar{address},$webvar{ttl},
     712        \$webvar{name},\$webvar{type},\$webvar{address},$webvar{ttl},$webvar{location},
    705713        $webvar{distance},$webvar{weight},$webvar{port});
    706714
Note: See TracChangeset for help on using the changeset viewer.