Author: jsuchome
Date: Mon Jul 23 15:15:04 2007
New Revision: 39600
URL: http://svn.opensuse.org/viewcvs/yast?rev=39600&view=rev
Log:
better/correct check if data in plugin were modified
Modified:
trunk/users/src/Users.pm
trunk/users/src/UsersLDAP.pm
trunk/users/src/UsersPluginQuota.pm
trunk/users/src/users_plugin_quota.ycp
Modified: trunk/users/src/Users.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/users/src/Users.pm?rev=39600&r1=39599&r2=39600&view=diff
==============================================================================
--- trunk/users/src/Users.pm (original)
+++ trunk/users/src/Users.pm Mon Jul 23 15:15:04 2007
@@ -3300,6 +3300,40 @@
if (defined $user{"org_user"}) {
%org_user = %{$user{"org_user"}};
}
+ if ($user{"type"} ne "ldap") {
+ # grouplist can be ignored, it is a modification of groups
+ while ( my ($key, $value) = each %org_user) {
+ last if $ret;
+ if ($key eq "grouplist") {
+ next;
+ }
+ if ($key eq "plugin_modified") {
+ $ret = 1; #TODO save special plugin_modified global value?
+ next;
+ }
+ if (defined $user{$key} &&
+ (ref ($value) eq "YaST::YCP::Boolean" &&
+ ref ($user{$key}) eq "YaST::YCP::Boolean") ||
+ (ref ($value) eq "YaST::YCP::Integer" &&
+ ref ($user{$key}) eq "YaST::YCP::Integer"))
+ {
+ if ($user{$key}->value() != $value->value())
+ {
+ $ret = 1;
+ y2milestone ("old value: ", $value->value());
+ y2milestone ("changed to: ", $user{$key}->value());
+ }
+ next;
+ }
+ if (!defined $user{$key} || $user{$key} ne $value)
+ {
+ $ret = 1;
+ y2debug ("old value: ", $value || "(not defined)");
+ y2debug ("... changed to: ", $user{$key} || "(not defined)" );
+ }
+ }
+ return $ret;
+ }
my @internal_keys = @{UsersLDAP->GetUserInternal ()};
foreach my $key (keys %user) {
last if $ret;
@@ -3308,10 +3342,8 @@
ref ($value) eq "HASH" ) {
next;
}
- if ($key eq "quota" && ref ($value) eq "ARRAY") {
- foreach my $qmap (@$value) {
- $ret = 1 if exists $qmap->{"quota_modified"};
- }
+ if ($key eq "plugin_modified") {
+ $ret = 1;
}
elsif (!defined ($org_user{$key})) {
if ($value ne "") {
Modified: trunk/users/src/UsersLDAP.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/users/src/UsersLDAP.pm?rev=39600&r1=39599&r2=39600&view=diff
==============================================================================
--- trunk/users/src/UsersLDAP.pm (original)
+++ trunk/users/src/UsersLDAP.pm Mon Jul 23 15:15:04 2007
@@ -115,7 +115,7 @@
my @user_internal_keys =
("create_home", "grouplist", "groupname", "modified", "org_username",
"org_uid", "plugins", "text_userpassword", "current_text_userpassword",
- "plugins_to_remove",
+ "plugins_to_remove", "plugin_modified",
"org_uidnumber", "org_homedirectory","org_user", "type", "org_groupname",
"org_type", "what", "encrypted", "no_skeleton", "disabled", "enabled",
"dn", "org_dn", "removed_grouplist", "delete_home", "addit_data",
@@ -126,7 +126,8 @@
("modified", "type", "more_users", "s_userlist", "encrypted", "org_type",
"dn", "org_dn", "org_groupname", "org_gidnumber", "removed_userlist",
"what", "org_cn", "plugins", "plugins_to_remove", "org_group",
- "warning_message", "warning_message_ID", "confirmed_warnings");
+ "warning_message", "warning_message_ID", "confirmed_warnings",
+ "plugin_modified");
# defualt scope for searching, set it by SetUserScope
Modified: trunk/users/src/UsersPluginQuota.pm
URL: http://svn.opensuse.org/viewcvs/yast/trunk/users/src/UsersPluginQuota.pm?rev=39600&r1=39599&r2=39600&view=diff
==============================================================================
--- trunk/users/src/UsersPluginQuota.pm (original)
+++ trunk/users/src/UsersPluginQuota.pm Mon Jul 23 15:15:04 2007
@@ -74,10 +74,10 @@
my $i = 0;
foreach my $qmap (@{$data->{"quota"}}) {
$data->{"quota"}[$i]{$key} = 0 if defined $data->{"quota"}[$i]{$key};
- $data->{"quota"}[$i]{"quota_modified"} = 1;
$i = $i + 1;
}
}
+ $data->{"plugin_modified"} = 1;
return $data;
}
Modified: trunk/users/src/users_plugin_quota.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/users/src/users_plugin_quota.ycp?rev=39600&r1=39599&r2=39600&view=diff
==============================================================================
--- trunk/users/src/users_plugin_quota.ycp (original)
+++ trunk/users/src/users_plugin_quota.ycp Mon Jul 23 15:15:04 2007
@@ -141,7 +141,7 @@
_("<p>If group exceedes the softlimit quota, widgets with the time setting are enabled. Adjust the grace time for group by setting the time in those widgets.</p>");
}
- boolean modified = false;
+ boolean modified = data["plugin_modified"]:0 == 1;
integer current = 0; // current fs (index in the list)
list<map> current_quota = data["quota"]:[];
@@ -177,11 +177,6 @@
fixed["quota_blocks_grace_exceeded"] = 1;
if (haskey (q, "quota_inodes_grace_exceeded"))
fixed["quota_inodes_grace_exceeded"] = 1;
- if (haskey (q, "quota_modified"))
- {
- modified = true;
- fixed["quota_modified"] = true;
- }
quota_list = add (quota_list, fixed);
return `item (`id (i), fs, i == current);
});
@@ -325,11 +320,10 @@
integer i = 0;
foreach (map qmap, quota_list, {
foreach (string key, any val, (map