[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-anastasis-gtk] branch master updated: auth dialogs,
gnunet <=