Designate forbidden address ranges, #25530
[freeside.git] / httemplate / edit / elements / edit.html
index 6c96532..16d0817 100644 (file)
@@ -108,6 +108,9 @@ Example:
     # overrides default popurl(1)."process/$table.html"
     'post_url' => popurl(1).'process/something', 
 
+    # optional link to delete this object; primary key will be appended
+    'delete_url' => $p.'misc/delete-something.html?',
+
     #we're in a popup (no title/menu/searchboxes)
     'popup' => 1,
 
@@ -211,6 +214,7 @@ Example:
 %     );
 %   }
 
+
   <% include('/elements/header'. ( $opt{popup} ? '-popup' : '' ). '.html',
                 $title,
                 include( '/elements/menubar.html', @menubar ),
@@ -527,7 +531,7 @@ Example:
 %     if ( $f->{curr_value_callback} ) {
 %       $curr_value = &{ $f->{curr_value_callback} }( $cgi, $object, $field ),
 %     } else {
-%       $curr_value = $object->$field();
+%       $curr_value = $object->$field() if $field;
 %     }
 %     $curr_value = &{ $opt{'value_callback'} }( $f->{'field'}, $curr_value )
 %       if $opt{'value_callback'} && $mode ne 'error';
@@ -773,6 +777,23 @@ Example:
                               : "Add ". ($opt{'name'} || $opt{'name_singular'})
                          %>"
       >
+%     if ( $opt{'delete_url'} and $object->get($pkey) ) {
+%       my $delete_msg = 'Delete this '.
+%          ($opt{'name_singular'} || $opt{'name'});
+%       my $delete_url = $opt{'delete_url'};
+%       $delete_url .= '?' unless $delete_url =~ /\?/;
+%       $delete_url .= $object->get($pkey);
+        <SCRIPT TYPE="text/javascript">
+        function confirm_delete() {
+          if(confirm(<% $delete_msg . '?' |js_string %>)) {
+            window.location.href = <% $delete_url |js_string %>;
+          }
+        }
+        </SCRIPT>
+        <INPUT TYPE     = "button"
+               VALUE    = "<% $delete_msg |h %>"
+               onclick  = "confirm_delete()">
+%     }
 %   }
 
   </FORM>