summaryrefslogtreecommitdiffstats
path: root/mdkapplet-enterprise-update-helper
diff options
context:
space:
mode:
authorJoão Victor Duarte Martins <jvictor@mandriva.com>2010-05-13 17:00:13 +0000
committerJoão Victor Duarte Martins <jvictor@mandriva.com>2010-05-13 17:00:13 +0000
commit65a27fd40e069cd1cdae0bc5b6b35670f37e208e (patch)
tree3eb1c223d436cb6387b6085b5d9fd1ff2b06e422 /mdkapplet-enterprise-update-helper
parent0e25af58eec245d64fe6cd87af5cdaf7aec6d81d (diff)
downloadmgaonline-65a27fd40e069cd1cdae0bc5b6b35670f37e208e.tar
mgaonline-65a27fd40e069cd1cdae0bc5b6b35670f37e208e.tar.gz
mgaonline-65a27fd40e069cd1cdae0bc5b6b35670f37e208e.tar.bz2
mgaonline-65a27fd40e069cd1cdae0bc5b6b35670f37e208e.tar.xz
mgaonline-65a27fd40e069cd1cdae0bc5b6b35670f37e208e.zip
* mdkapplet-add-media-helper: Added to gather common add media code
(substitutes both mdkapplet-enterprise-update-helper and mdkapplet-restricted-helper). * mdkapplet_gui.pm (run_ask_credentials_dialog): Added here for reusability.
Diffstat (limited to 'mdkapplet-enterprise-update-helper')
-rwxr-xr-xmdkapplet-enterprise-update-helper169
1 files changed, 0 insertions, 169 deletions
diff --git a/mdkapplet-enterprise-update-helper b/mdkapplet-enterprise-update-helper
deleted file mode 100755
index 31550d36..00000000
--- a/mdkapplet-enterprise-update-helper
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/perl
-################################################################################
-# Mandriva Online #
-# #
-# Copyright (C) 2009-2010 Mandriva #
-# #
-# Thierry Vignaud <tvignaud at mandriva dot com> #
-# #
-# This program is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License Version 2 as #
-# published by the Free Software Foundation. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program; if not, write to the Free Software #
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
-################################################################################
-
-use strict;
-use lib qw(/usr/lib/libDrakX /usr/lib/libDrakX/drakfirsttime);
-use standalone; # for explanations
-use common;
-use run_program;
-use feature 'state';
-
-BEGIN { unshift @::textdomains, 'mdkonline' }
-
-use mygtk2 qw(gtknew); #- do not import gtkadd which conflicts with ugtk2 version
-use ugtk2 qw(:all);
-use urpm::cfg;
-use mdkonline;
-use mdkapplet_gui;
-use interactive;
-
-use XML::Simple;
-use URI::Escape;
-use LWP::UserAgent;
-use HTTP::Request::Common;
-use HTTP::Request;
-
-my $version;
-foreach my $opt (@ARGV) {
- if ($opt =~ /--(rpm-root|urpmi-root)=(.*)/) {
- $::rpmdrake_options{$1}[0] = $2;
- } else {
- $version = $opt;
- }
-}
-$version or die "usage: mdkapplet-enterprise-update-helper <distrib_version>\n";
-
-get_restricted_authentication();
-
-ugtk2::exit(0);
-
-
-sub get_restricted_authentication() {
- my $w = ugtk2->new(N("Adding an additional package medium"), width => $width + 20);
- my ($password_w, $email_w, $password);
-
- $password_w = gtknew('Entry');
- $password_w->set_visibility(0);
- # WARNING: WON'T WORK IF EVER EMBEDDED
- $w->{real_window}->signal_connect(destroy => sub { $password = $password_w->get_text });
- require interactive::gtk;
-
- my $res =
- fill_n_run_portable_dialog(
- $w,
- [
- get_banner(N("Adding an additional package medium")),
- gtknew('Label_Left', text => N("Please fill in your account ID to add an additional package medium"),
- @common),
- gtknew('HButtonBox', layout => 'start', children_tight => [
- interactive::gtk::add_padding(
- new_link_button('https://my.mandriva.com/info', N("More information on your user account")))
- ]),
- gtknew('Table', col_spacings => 5, row_spacings => 5, children => [
- [ N("Your email"), $email_w = gtknew('Entry') ],
- [ N("Your password"), $password_w ],
- ]),
- gtknew('HButtonBox', layout => 'start', children_tight => [
- interactive::gtk::add_padding(
- new_link_button('https://my.mandriva.com/reset/password/', N("Forgotten password")))
- ]),
- create_okcancel($w, N("Next"), N("Cancel")),
- ]);
-
- my $email = $email_w->get_text;
- if ($res) {
- if ($email && $password) {
- add_enterprise_update_medium($email, $password);
- } else {
- interactive->vnew->ask_warn(N("Error"), N("Password and email cannot be empty."));
- goto &get_restricted_authentication;
- }
- } else {
- ugtk2::exit(0);
- }
-}
-
-sub has_mes5_rights {
- my ($ref) = @_;
- $ref->{data}{groups}{'es5-prod'} || $ref->{data}{groups}{'es5-demo'};
-}
-
-my $error;
-sub add_enterprise_update_medium {
- my ($email, $password) = @_;
-
- my $res = get_from("https://my.mandriva.com/rest/authenticate",
- [ 'username', $email, 'password', $password,
- 'return', 'userdata' ]);
- my $ref = xml2perl($res);
-
- if ($ref->{code} != 0) {
- my $in = interactive->vnew;
- $in->ask_warn(N("Error"), N("An error occurred") . "\n" . $ref->{message});
- goto &get_restricted_authentication;
- } elsif (!has_mes5_rights($ref)) {
- no_rights_dialog();
- } else {
- $error = 0;
- my $arch = urpm::cfg::get_arch();
- actually_add_enterprise_update_medium($ref, $password, $arch)
- or adding_media_failed();
- if (!$error) {
- #interactive->vnew->ask_okcancel(N("Error"), N("An error occurred while adding medium"));
- my $w = ugtk2->new(N("Successfully added media %s.", 'Update'), grab => 1);
- $w->_ask_okcancel(N("Successfully added media %s.", 'Update'), N("Ok"), undef);
- ugtk2::main($w);
- }
- }
-}
-
-sub no_rights_dialog() {
- my $w = ugtk2->new(N("Adding an additional package medium"), width => $width + 20);
-
- fill_n_run_portable_dialog(
- $w,
- [
- get_banner(N("Adding an additional package medium")),
- gtknew('Label_Left', text => N("Your Mandriva account does not have %s download subscription enabled.", translate_product()),
- @common),
- gtknew('HButtonBox', layout => 'start', children_tight => [
- interactive::gtk::add_padding(
- new_link_button('http://www2.mandriva.com/linux/server/', N("More Information")))
- ]),
- create_okcancel($w, N("Close"), undef),
- ]);
-}
-
-sub adding_media_failed {
- $error = 1;
- interactive->vnew->ask_warn(N("Error"), N("An error occurred while adding medium"));
- goto &get_restricted_authentication;
-}
-
-sub actually_add_enterprise_update_medium {
- my ($ref, $password, $arch) = @_;
- $password = uri_escape($password);
- my @options = get_urpmi_options();
- my $email = uri_escape($ref->{data}{email});
- my $uri = "https://$email:$password\@download.mandriva.com/$version/rpms/$arch/";
- run_program::raw(@options, '--update', '--distrib', $uri);
-}