]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 369489: Remove the milestoneurl feature and link "Target Milestone" to the fields...
authormkanat%bugzilla.org <>
Sun, 13 Dec 2009 22:07:48 +0000 (22:07 +0000)
committermkanat%bugzilla.org <>
Sun, 13 Dec 2009 22:07:48 +0000 (22:07 +0000)
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit

Bugzilla/Bug.pm
Bugzilla/DB/Schema.pm
Bugzilla/Install/DB.pm
Bugzilla/Product.pm
editproducts.cgi
template/en/default/admin/products/edit-common.html.tmpl
template/en/default/admin/products/updated.html.tmpl
template/en/default/bug/edit.html.tmpl

index 2c3a11e8c479efa4f83a092c83b30a7aa47e8c3e..9768dede4295fa7a25e46b891c60804bd1369810 100644 (file)
@@ -1972,7 +1972,6 @@ sub set_product {
         $self->{_old_product_name} = $old_product->name;
         # Delete fields that depend upon the old Product value.
         delete $self->{choices};
-        delete $self->{milestoneurl};
         $product_changed = 1;
     }
 
@@ -2734,15 +2733,6 @@ sub comments {
     return \@comments;
 }
 
-sub milestoneurl {
-    my ($self) = @_;
-    return $self->{'milestoneurl'} if exists $self->{'milestoneurl'};
-    return '' if $self->{'error'};
-
-    $self->{'milestoneurl'} = $self->product_obj->milestone_url;
-    return $self->{'milestoneurl'};
-}
-
 sub product {
     my ($self) = @_;
     return $self->{product} if exists $self->{product};
index a2df2642549446523e085d4cfcb47c287e72981a..e4dcfd966516ef4a84b2feb30f72fdcec7c9c21c 100644 (file)
@@ -1214,8 +1214,6 @@ use constant ABSTRACT_SCHEMA => {
                                                  COLUMN => 'id',
                                                  DELETE => 'CASCADE'}},
             description       => {TYPE => 'MEDIUMTEXT'},
-            milestoneurl      => {TYPE => 'TINYTEXT', NOTNULL => 1,
-                                  DEFAULT => "''"},
             isactive          => {TYPE => 'BOOLEAN', NOTNULL => 1,
                                   DEFAULT => 1},
             votesperuser      => {TYPE => 'INT2', NOTNULL => 1,
index 74668a3bb0fe436a0a9a2294ad2622c0d3497620..0d117bc12d645b18d7b103c002faa74eb17dc4a9 100644 (file)
@@ -459,8 +459,10 @@ sub update_table_definitions {
     _move_data_nomail_into_db();
 
     # The products table lacked sensible defaults.
-    $dbh->bz_alter_column('products', 'milestoneurl',
-                          {TYPE => 'TINYTEXT', NOTNULL => 1, DEFAULT => "''"});
+    if ($dbh->bz_column_info('products', 'milestoneurl') {
+        $dbh->bz_alter_column('products', 'milestoneurl',
+            {TYPE => 'TINYTEXT', NOTNULL => 1, DEFAULT => "''"});
+    }
     if ($dbh->bz_column_info('products', 'disallownew')){
         $dbh->bz_alter_column('products', 'disallownew',
                               {TYPE => 'BOOLEAN', NOTNULL => 1,  DEFAULT => 0});
@@ -588,6 +590,8 @@ sub update_table_definitions {
 
     _set_attachment_comment_types();
 
+    $dbh->bz_drop_column('products', 'milestoneurl');
+
     ################################################################
     # New --TABLE-- changes should go *** A B O V E *** this point #
     ################################################################
@@ -623,8 +627,6 @@ sub _update_pre_checksetup_bugzillas {
                             {TYPE => 'BOOLEAN', NOTNULL => 1}, 0);
     }
 
-    $dbh->bz_add_column('products', 'milestoneurl',
-                        {TYPE => 'TINYTEXT', NOTNULL => 1}, '');
     $dbh->bz_add_column('components', 'initialqacontact',
                         {TYPE => 'TINYTEXT'});
     $dbh->bz_add_column('components', 'description',
index ac2bd4d72668d65df498e8fc2872acd7aabea6d7..410f1bd20a2eec868772ee6d4609703530fab4f1 100644 (file)
@@ -53,7 +53,6 @@ use constant DB_COLUMNS => qw(
    name
    classification_id
    description
-   milestoneurl
    isactive
    votesperuser
    maxvotesperbug
@@ -71,7 +70,6 @@ use constant UPDATE_COLUMNS => qw(
     name
     description
     defaultmilestone
-    milestoneurl
     isactive
     votesperuser
     maxvotesperbug
@@ -84,7 +82,6 @@ use constant VALIDATORS => {
     description      => \&_check_description,
     version          => \&_check_version,
     defaultmilestone => \&_check_default_milestone,
-    milestoneurl     => \&_check_milestone_url,
     isactive         => \&Bugzilla::Object::check_boolean,
     votesperuser     => \&_check_votes_per_user,
     maxvotesperbug   => \&_check_votes_per_bug,
@@ -630,7 +627,6 @@ sub _create_series {
 sub set_name { $_[0]->set('name', $_[1]); }
 sub set_description { $_[0]->set('description', $_[1]); }
 sub set_default_milestone { $_[0]->set('defaultmilestone', $_[1]); }
-sub set_milestone_url { $_[0]->set('milestoneurl', $_[1]); }
 sub set_is_active { $_[0]->set('isactive', $_[1]); }
 sub set_votes_per_user { $_[0]->set('votesperuser', $_[1]); }
 sub set_votes_per_bug { $_[0]->set('maxvotesperbug', $_[1]); }
@@ -887,7 +883,6 @@ sub flag_types {
 ###############################
 
 sub description       { return $_[0]->{'description'};       }
-sub milestone_url     { return $_[0]->{'milestoneurl'};      }
 sub is_active         { return $_[0]->{'isactive'};       }
 sub votes_per_user    { return $_[0]->{'votesperuser'};      }
 sub max_votes_per_bug { return $_[0]->{'maxvotesperbug'};    }
@@ -940,7 +935,6 @@ Bugzilla::Product - Bugzilla product class.
     my $id               = $product->id;
     my $name             = $product->name;
     my $description      = $product->description;
-    my $milestoneurl     = $product->milestone_url;
     my isactive          = $product->is_active;
     my votesperuser      = $product->votes_per_user;
     my maxvotesperbug    = $product->max_votes_per_bug;
index 86f2c04050949e45338030974ef23ed740fc0616..a328ca678983d27fb819dc13141d9ac128451f20 100755 (executable)
@@ -182,7 +182,6 @@ if ($action eq 'new') {
                                  description      => scalar $cgi->param('description'),
                                  version          => scalar $cgi->param('version'),
                                  defaultmilestone => scalar $cgi->param('defaultmilestone'),
-                                 milestoneurl     => scalar $cgi->param('milestoneurl'),
                                  isactive         => scalar $cgi->param('is_active'),
                                  votesperuser     => scalar $cgi->param('votesperuser'),
                                  maxvotesperbug   => scalar $cgi->param('maxvotesperbug'),
@@ -294,7 +293,6 @@ if ($action eq 'update') {
     $product->set_name($product_name);
     $product->set_description(scalar $cgi->param('description'));
     $product->set_default_milestone(scalar $cgi->param('defaultmilestone'));
-    $product->set_milestone_url(scalar $cgi->param('milestoneurl'));
     $product->set_is_active(scalar $cgi->param('is_active'));
     $product->set_votes_per_user(scalar $cgi->param('votesperuser'));
     $product->set_votes_per_bug(scalar $cgi->param('maxvotesperbug'));
index e7bcbbb7aa801882fcb842ac3d3ac31f50b78703..67dd5ae6434f6fae6a60db3903adec136278bc4a 100644 (file)
 </tr>
 
 [% IF Param('usetargetmilestone') -%]
-  <tr>
-    <th align="right">URL describing milestones for this product:</th>
-    <td><input type="text" size="64" maxlength="255" name="milestoneurl"
-               value="[% product.milestoneurl FILTER html %]">
-    </td>
-  </tr>
   <tr>
     <th align="right">Default milestone:</th>
     <td>
index f0e00f853f1811a4a6c7bb6bd5d2a3cd39d7fb0e..594f84327a9ab7221af309bafd00ffd57357d0cd 100644 (file)
   </p>
 [% END %]
 
-[% IF changes.milestoneurl.defined %]
-  <p>
-  Updated milestone URL 
-  [% IF changes.milestoneurl.0 != '' %]
-    from<br> <a href="[%- changes.milestoneurl.0 FILTER html %]">
-    [%- changes.milestoneurl.0 FILTER html %]</a>
-  [% END %]
-  to
-  [% IF product.milestone_url != '' %]
-     <br><a href="[%- product.milestone_url FILTER html %]">
-     [%- product.milestone_url FILTER html %]</a>.
-  [% ELSE %]
-    be empty.
-  [% END %]
-  </p>
-[% END %]
-
 [% IF changes.defaultmilestone.defined %]
   <p>
   Updated default milestone from '[% changes.defaultmilestone.0 FILTER html %]' to
index 813e80cb2c3a47275aa52a0b32dc678d4237d970..401d71ca3a70979902f16a2999086cfce529a0b9 100644 (file)
 
     [% IF Param("usetargetmilestone") && bug.target_milestone %]
       <tr>
-        <td class="field_label">
-          <label for="target_milestone"><b>
-            [% IF bug.milestoneurl %]
-              <a href="[% bug.milestoneurl FILTER html %]">
-            [% END %]
-            Target&nbsp;Milestone[% "</a>" IF bug.milestoneurl %]
-          [%%]</b></label>:
+        <th class="field_label">
+          <label for="target_milestone">
+              <a href="page.cgi?id=fields.html#target_milestone">
+            Target&nbsp;Milestone</a></label>:
         </td>
         [% PROCESS select selname = "target_milestone" %]
       </tr>