From: Kohei Yoshino Date: Wed, 17 Jul 2019 09:00:12 +0000 (-0400) Subject: Bug 1273046 - Disable the legacy non-modal bug UI X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8beb42198d8dc24a6f7212bb08a2ec3c4e5dacd1;p=thirdparty%2Fbugzilla.git Bug 1273046 - Disable the legacy non-modal bug UI --- diff --git a/Bugzilla/User/Setting.pm b/Bugzilla/User/Setting.pm index ff94f9868..c7e91a442 100644 --- a/Bugzilla/User/Setting.pm +++ b/Bugzilla/User/Setting.pm @@ -19,6 +19,7 @@ use base qw(Exporter); get_all_settings get_defaults add_setting + remove_setting clear_settings_cache ); @@ -144,18 +145,7 @@ sub add_setting { if ($exists) { # If this setting exists, we delete it and regenerate it. - $dbh->do('DELETE FROM setting_value WHERE name = ?', undef, $name); - $dbh->do('DELETE FROM setting WHERE name = ?', undef, $name); - - # Remove obsolete user preferences for this setting. - if (defined $options && scalar(@$options)) { - my $list = join(', ', map { $dbh->quote($_) } @$options); - $dbh->do( - "DELETE FROM profile_setting - WHERE setting_name = ? AND setting_value NOT IN ($list)", undef, - $name - ); - } + remove_setting($name, $options); } elsif (!$silently) { print get_text('install_setting_new', {name => $name}) . "\n"; @@ -178,6 +168,26 @@ sub add_setting { } } +sub remove_setting { + my ($name, $options) = @_; + my $dbh = Bugzilla->dbh; + + return unless _setting_exists($name); + + $dbh->do('DELETE FROM setting_value WHERE name = ?', undef, $name); + $dbh->do('DELETE FROM setting WHERE name = ?', undef, $name); + + my $sql = 'DELETE FROM profile_setting WHERE setting_name = ?'; + + # Remove obsolete user preferences for this setting. + if (defined $options && scalar(@$options)) { + my $list = join(', ', map { $dbh->quote($_) } @$options); + $sql .= " AND setting_value NOT IN ($list)"; + } + + $dbh->do($sql, undef, $name); +} + sub get_all_settings { my ($user_id) = @_; my $settings = {}; @@ -384,6 +394,13 @@ Params: C<$name> - string - the name of the new setting Returns: a pointer to a hash of settings +=item C + +Description: Removes an existing setting and the options. + +Params: C<$name> - string - the name of the setting to be removed. + C<$options> (optional) - arrayref - contains the existing setting + choices that shouldn't be removed. =item C diff --git a/extensions/BugModal/Extension.pm b/extensions/BugModal/Extension.pm index e6064424f..d19e14f9f 100644 --- a/extensions/BugModal/Extension.pm +++ b/extensions/BugModal/Extension.pm @@ -61,7 +61,7 @@ sub _alternative_show_bug_format { # as the Long Format option return $format; } - return $user->setting('ui_experiments') eq 'on' ? 'modal' : ''; + return 'modal'; } sub template_after_create { @@ -333,12 +333,7 @@ sub webservice { sub install_before_final_checks { my ($self, $args) = @_; - add_setting({ - name => 'ui_experiments', - options => ['on', 'off'], - default => 'on', - category => 'User Interface' - }); + remove_setting('ui_experiments'); add_setting({ name => 'ui_remember_collapsed', options => ['on', 'off'], diff --git a/extensions/BugModal/template/en/default/hook/global/setting-descs-settings.none.tmpl b/extensions/BugModal/template/en/default/hook/global/setting-descs-settings.none.tmpl index c8e4029f3..56f290974 100644 --- a/extensions/BugModal/template/en/default/hook/global/setting-descs-settings.none.tmpl +++ b/extensions/BugModal/template/en/default/hook/global/setting-descs-settings.none.tmpl @@ -7,7 +7,6 @@ #%] [% - setting_descs.ui_experiments = "Use modal user interface" setting_descs.ui_remember_collapsed = "Remember visibility of header sections when viewing a bug" setting_descs.ui_use_absolute_time = "Use absolute format instead of relative time when viewing a bug" %] diff --git a/scripts/entrypoint.pl b/scripts/entrypoint.pl index b3b166644..66e8a5e5b 100755 --- a/scripts/entrypoint.pl +++ b/scripts/entrypoint.pl @@ -138,7 +138,6 @@ sub cmd_load_test_data { run( 'perl', 'scripts/generate_bmo_data.pl', - '--user-pref', 'ui_experiments=on', '--param', 'use_mailer_queue=0' );