gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis-gtk] branch master updated: auth dialogs


From: gnunet
Subject: [taler-anastasis-gtk] branch master updated: auth dialogs
Date: Wed, 10 Mar 2021 23:20:07 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository anastasis-gtk.

The following commit(s) were added to refs/heads/master by this push:
     new 0818f0c  auth dialogs
0818f0c is described below

commit 0818f0c325edd5bf8c7e6609c9801ff56e202b59
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Mar 10 23:20:05 2021 +0100

    auth dialogs
---
 contrib/anastasis_gtk_auth_add_email.glade        |   1 +
 contrib/anastasis_gtk_auth_add_post.glade         |   5 +
 contrib/anastasis_gtk_auth_add_sms.glade          |   2 +
 src/anastasis/anastasis-gtk_handle-method-email.c |   8 +-
 src/anastasis/anastasis-gtk_handle-method-post.c  | 113 +++++++++++++---------
 src/anastasis/anastasis-gtk_handle-method-sms.c   |   8 +-
 src/testing/test_anastasis_reducer_4.conf         |  12 +++
 src/testing/test_prepare.sh                       |   2 +-
 8 files changed, 96 insertions(+), 55 deletions(-)

diff --git a/contrib/anastasis_gtk_auth_add_email.glade 
b/contrib/anastasis_gtk_auth_add_email.glade
index 086df8b..1c83b6f 100644
--- a/contrib/anastasis_gtk_auth_add_email.glade
+++ b/contrib/anastasis_gtk_auth_add_email.glade
@@ -81,6 +81,7 @@
                     <property name="hexpand">True</property>
                     <property 
name="primary-icon-stock">gtk-dialog-authentication</property>
                     <property name="input-purpose">email</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_email_dialog_mailaddress_entry_changed_cb" 
swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
diff --git a/contrib/anastasis_gtk_auth_add_post.glade 
b/contrib/anastasis_gtk_auth_add_post.glade
index ec0b207..178c5aa 100644
--- a/contrib/anastasis_gtk_auth_add_post.glade
+++ b/contrib/anastasis_gtk_auth_add_post.glade
@@ -92,6 +92,7 @@
                     <property name="can-focus">True</property>
                     <property name="has-focus">True</property>
                     <property name="hexpand">True</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_post_dialog_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -130,6 +131,7 @@
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="hexpand">True</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_post_dialog_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -168,6 +170,7 @@
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="hexpand">True</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_post_dialog_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -206,6 +209,7 @@
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="hexpand">True</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_post_dialog_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
@@ -244,6 +248,7 @@
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="hexpand">True</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_post_dialog_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">True</property>
diff --git a/contrib/anastasis_gtk_auth_add_sms.glade 
b/contrib/anastasis_gtk_auth_add_sms.glade
index cb81d9a..6cfa94a 100644
--- a/contrib/anastasis_gtk_auth_add_sms.glade
+++ b/contrib/anastasis_gtk_auth_add_sms.glade
@@ -34,6 +34,7 @@
               <object class="GtkButton" id="anastasis_gtk_b_sms_dialog_btn_ok">
                 <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
+                <property name="sensitive">False</property>
                 <property name="can-focus">True</property>
                 <property name="receives-default">True</property>
                 <property name="use-stock">True</property>
@@ -81,6 +82,7 @@
                     <property 
name="primary-icon-stock">gtk-dialog-authentication</property>
                     <property name="placeholder-text" 
translatable="yes">+41123456789</property>
                     <property name="input-purpose">phone</property>
+                    <signal name="changed" 
handler="anastasis_gtk_b_sms_dialog_phonenumber_entry_changed_cb" swapped="no"/>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/anastasis/anastasis-gtk_handle-method-email.c 
b/src/anastasis/anastasis-gtk_handle-method-email.c
index 1eda203..423af4a 100644
--- a/src/anastasis/anastasis-gtk_handle-method-email.c
+++ b/src/anastasis/anastasis-gtk_handle-method-email.c
@@ -55,7 +55,7 @@ anastasis_gtk_b_email_dialog_response_cb (GtkDialog *dialog,
     return;
   }
   q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_email_dialog_email_entry"));
+                                         
"anastasis_gtk_b_email_dialog_mailaddress_entry"));
   qs = gtk_entry_get_text (q);
   // FIXME: produce mangled email address for instructions!
   args = json_pack ("{ s:{s:s, s:o, s:s}}",
@@ -80,8 +80,8 @@ anastasis_gtk_b_email_dialog_response_cb (GtkDialog *dialog,
 
 
 void
-anastasis_gtk_b_email_dialog_email_entry_changed_cb (GtkEntry *entry,
-                                                     gpointer user_data)
+anastasis_gtk_b_email_dialog_mailaddress_entry_changed_cb (GtkEntry *entry,
+                                                           gpointer user_data)
 {
   GtkBuilder *builder = GTK_BUILDER (user_data);
   GtkEntry *q;
@@ -90,7 +90,7 @@ anastasis_gtk_b_email_dialog_email_entry_changed_cb (GtkEntry 
*entry,
   const char *as;
 
   q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_email_dialog_email_entry"));
+                                         
"anastasis_gtk_b_email_dialog_mailaddress_entry"));
   qs = gtk_entry_get_text (q);
   // FIXME: validate e-mail address more here!
   gtk_widget_set_sensitive (
diff --git a/src/anastasis/anastasis-gtk_handle-method-post.c 
b/src/anastasis/anastasis-gtk_handle-method-post.c
index 8418b35..4469eae 100644
--- a/src/anastasis/anastasis-gtk_handle-method-post.c
+++ b/src/anastasis/anastasis-gtk_handle-method-post.c
@@ -31,6 +31,25 @@
 #include <jansson.h>
 
 
+/**
+ * Get text of @a widget_name from builder @a b.
+ *
+ * @param b a builder
+ * @param widget_name name of an entry widget of @a b
+ * @return associated text
+ */
+static const char *
+gt (GtkBuilder *b,
+    const char *widget_name)
+{
+  GtkEntry *q;
+
+  q = GTK_ENTRY (gtk_builder_get_object (b,
+                                         
"anastasis_gtk_b_post_dialog_post_entry"));
+  return gtk_entry_get_text (q);
+}
+
+
 /**
  * Function called from the security-post dialog upon completion.
  *
@@ -44,9 +63,8 @@ anastasis_gtk_b_post_dialog_response_cb (GtkDialog *dialog,
                                          gpointer user_data)
 {
   GtkBuilder *builder = GTK_BUILDER (user_data);
-  GtkEntry *q;
-  const char *qs;
   json_t *args;
+  char *ins;
 
   if (GTK_RESPONSE_OK != response_id)
   {
@@ -54,26 +72,33 @@ anastasis_gtk_b_post_dialog_response_cb (GtkDialog *dialog,
     g_object_unref (G_OBJECT (builder));
     return;
   }
-  q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_post_dialog_post_entry"));
-  qs = gtk_entry_get_text (q);
+  GNUNET_asprintf (&ins,
+                   "PIN sent to address in %s\n",
+                   gt (builder,
+                       "anastasis_gtk_b_post_dialog_postcode_entry"));
   args = json_pack ("{ s:{s:s, s:{s:s,s:s,s:s,s:s,s:s}, s:s}}",
                     "authentication_method",
                     "type",
                     "post",
                     "challenge",
                     "full_name",
-                    qs,
+                    gt (builder,
+                        "anastasis_gtk_b_post_dialog_full_name_entry"),
                     "street",
-                    qs,
+                    gt (builder,
+                        "anastasis_gtk_b_post_dialog_street_entry"),
                     "city",
-                    qs,
+                    gt (builder,
+                        "anastasis_gtk_b_post_dialog_city_entry"),
                     "postcode",
-                    qs,
+                    gt (builder,
+                        "anastasis_gtk_b_post_dialog_postcode_entry"),
                     "country",
-                    qs,
+                    gt (builder,
+                        "anastasis_gtk_b_post_dialog_country_entry"),
                     "instructions",
-                    qs);
+                    ins);
+  GNUNET_free (ins);
   gtk_widget_destroy (GTK_WIDGET (dialog));
   g_object_unref (G_OBJECT (builder));
   AG_freeze ();
@@ -86,47 +111,43 @@ anastasis_gtk_b_post_dialog_response_cb (GtkDialog *dialog,
 }
 
 
-static void
-update_sensitivity (GtkBuilder *builder)
-{
-  GtkEntry *q;
-  GtkEntry *a;
-  const char *qs;
-  const char *as;
-
-  q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_post_dialog_post_entry"));
-  qs = gtk_entry_get_text (q);
-  a = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_post_dialog_answer_entry"));
-  as = gtk_entry_get_text (a);
-  gtk_widget_set_sensitive (
-    GTK_WIDGET (gtk_builder_get_object (builder,
-                                        "anastasis_gtk_b_post_dialog_btn_ok")),
-    ( (NULL != qs) &&
-      (0 < strlen (qs)) &&
-      (NULL != as) &&
-      (0 < strlen (as)) ));
-}
-
-
 void
-anastasis_gtk_b_post_dialog_post_entry_changed_cb (GtkEntry *entry,
-                                                   gpointer user_data)
+anastasis_gtk_b_post_dialog_entry_changed_cb (GtkEntry *entry,
+                                              gpointer user_data)
 {
+  const char *fields[] = {
+    "anastasis_gtk_b_post_dialog_full_name_entry",
+    "anastasis_gtk_b_post_dialog_street_entry",
+    "anastasis_gtk_b_post_dialog_city_entry",
+    "anastasis_gtk_b_post_dialog_postcode_entry",
+    "anastasis_gtk_b_post_dialog_country_entry",
+    NULL
+  };
   GtkBuilder *builder = GTK_BUILDER (user_data);
+  bool sensitive = true;
 
-  update_sensitivity (builder);
-}
-
+  for (unsigned int i = 0; NULL != fields[i]; i++)
+  {
+    const char *qs;
+
+    qs = gt (builder,
+             fields[i]);
+    if ( (NULL == qs) ||
+         (0 == strlen (qs)) )
+    {
+      sensitive = false;
+      break;
+    }
+  }
 
-void
-anastasis_gtk_b_post_dialog_answer_entry_changed_cb (GtkEntry *entry,
-                                                     gpointer user_data)
-{
-  GtkBuilder *builder = GTK_BUILDER (user_data);
+  {
+    GtkWidget *button;
 
-  update_sensitivity (builder);
+    button = GTK_WIDGET (gtk_builder_get_object (builder,
+                                                 
"anastasis_gtk_b_post_dialog_btn_ok"));
+    gtk_widget_set_sensitive (button,
+                              sensitive);
+  }
 }
 
 
diff --git a/src/anastasis/anastasis-gtk_handle-method-sms.c 
b/src/anastasis/anastasis-gtk_handle-method-sms.c
index d298572..310e89f 100644
--- a/src/anastasis/anastasis-gtk_handle-method-sms.c
+++ b/src/anastasis/anastasis-gtk_handle-method-sms.c
@@ -55,7 +55,7 @@ anastasis_gtk_b_sms_dialog_response_cb (GtkDialog *dialog,
     return;
   }
   q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_sms_dialog_sms_entry"));
+                                         
"anastasis_gtk_b_sms_dialog_phonenumber_entry"));
   qs = gtk_entry_get_text (q);
   // FIXME: produce mangled phone number for instructions!
   args = json_pack ("{ s:{s:s, s:o, s:s}}",
@@ -80,15 +80,15 @@ anastasis_gtk_b_sms_dialog_response_cb (GtkDialog *dialog,
 
 
 void
-anastasis_gtk_b_sms_dialog_sms_entry_changed_cb (GtkEntry *entry,
-                                                 gpointer user_data)
+anastasis_gtk_b_sms_dialog_phonenumber_entry_changed_cb (GtkEntry *entry,
+                                                         gpointer user_data)
 {
   GtkBuilder *builder = GTK_BUILDER (user_data);
   GtkEntry *q;
   const char *qs;
 
   q = GTK_ENTRY (gtk_builder_get_object (builder,
-                                         
"anastasis_gtk_b_sms_dialog_sms_entry"));
+                                         
"anastasis_gtk_b_sms_dialog_phonenumber_entry"));
   qs = gtk_entry_get_text (q);
   // FIXME: validate phone number more here!
   gtk_widget_set_sensitive (
diff --git a/src/testing/test_anastasis_reducer_4.conf 
b/src/testing/test_anastasis_reducer_4.conf
index a6d590e..ace80c5 100644
--- a/src/testing/test_anastasis_reducer_4.conf
+++ b/src/testing/test_anastasis_reducer_4.conf
@@ -7,3 +7,15 @@ BUSINESS_NAME = "Data loss #4 Inc."
 
 [stasis-postgres]
 CONFIG = postgres:///anastasischeck4
+
+[authorization-sms]
+COST = TESTKUDOS:0.0
+ENABLED = yes
+
+[authorization-post]
+COST = TESTKUDOS:0.0
+ENABLED = yes
+
+[authorization-email]
+COST = TESTKUDOS:0.0
+ENABLED = yes
diff --git a/src/testing/test_prepare.sh b/src/testing/test_prepare.sh
index 5cdf001..e51e3d9 100755
--- a/src/testing/test_prepare.sh
+++ b/src/testing/test_prepare.sh
@@ -284,7 +284,7 @@ echo "Exit the shell when done to terminate the test 
environment!"
 echo "Use 'taler-wallet-cli --wallet-db=\$WALLET_DB handle-uri \$PAY_URI -y' 
to pay"
 
 export WALLET_DB
-export PS1="$PS1-ANA> "
+export PS1="\[\e]0;\u@\h: 
\w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\>ANA$
 "
 
 bash
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]