[gnome-initial-setup/shell/4765: 18/362] account: create a shared user account



commit 69069a74416f605eb039552fe54d55aea27faefa
Author: Cosimo Cecchi <cosimo endlessm com>
Date:   Fri Apr 18 12:32:33 2014 -0700

    account: create a shared user account

 .../pages/account/gis-account-page.c               |   33 ++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/gnome-initial-setup/pages/account/gis-account-page.c 
b/gnome-initial-setup/pages/account/gis-account-page.c
index 78ab54a..b040ecf 100644
--- a/gnome-initial-setup/pages/account/gis-account-page.c
+++ b/gnome-initial-setup/pages/account/gis-account-page.c
@@ -42,6 +42,9 @@
 #include <cheese-gtk.h>
 #endif
 
+#define SHARED_ACCOUNT_USERNAME "shared"
+#define SHARED_ACCOUNT_FULLNAME "Shared Account"
+
 static void        join_show_prompt    (GisAccountPage *page,
                                         GError *error);
 
@@ -431,6 +434,34 @@ confirm_entry_focus_out (GtkWidget      *widget,
 }
 
 static void
+create_shared_user (GisAccountPage *page)
+{
+  GisAccountPagePrivate *priv = gis_account_page_get_instance_private (page);
+  GError *error = NULL;
+  ActUser *shared_user;
+  const gchar *language;
+
+  shared_user = act_user_manager_create_user (priv->act_client,
+                                              SHARED_ACCOUNT_USERNAME,
+                                              SHARED_ACCOUNT_FULLNAME,
+                                              ACT_USER_ACCOUNT_TYPE_STANDARD,
+                                              &error);
+  if (error != NULL) {
+    g_warning ("Failed to created shared user: %s", error->message);
+    g_error_free (error);
+    return;
+  }
+
+  act_user_set_password_mode (shared_user, ACT_USER_PASSWORD_MODE_NONE);
+
+  language = gis_driver_get_user_language (GIS_PAGE (page)->driver);
+  if (language)
+    act_user_set_language (shared_user, language);
+
+  g_object_unref (shared_user);
+}
+
+static void
 local_create_user (GisAccountPage *page)
 {
   GisAccountPagePrivate *priv = gis_account_page_get_instance_private (page);
@@ -441,6 +472,8 @@ local_create_user (GisAccountPage *page)
   gboolean autologin_active;
   GError *error = NULL;
 
+  create_shared_user (page);
+
   username = gtk_combo_box_text_get_active_text (OBJ(GtkComboBoxText*, "account-username-combo"));
   fullname = gtk_entry_get_text (OBJ (GtkEntry*, "account-fullname-entry"));
   password = gtk_entry_get_text (OBJ (GtkEntry*, "account-password-entry"));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]