[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] branch master updated: fix #7078
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] branch master updated: fix #7078 |
Date: |
Sat, 27 Nov 2021 22:26:09 +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 e394159 fix #7078
e394159 is described below
commit e39415981af2848da9155b1407730c5118e760e8
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Nov 27 22:26:07 2021 +0100
fix #7078
---
contrib/anastasis_gtk_edit_providers.glade | 6 ++-
contrib/anastasis_gtk_main_window.glade | 13 +++--
src/anastasis/anastasis-gtk_action.c | 55 ++++++++++++++++++++--
...astasis-gtk_handle-auth-edit-provider-clicked.c | 8 ++++
src/anastasis/anastasis-gtk_helper.h | 24 ++++++++--
5 files changed, 93 insertions(+), 13 deletions(-)
diff --git a/contrib/anastasis_gtk_edit_providers.glade
b/contrib/anastasis_gtk_edit_providers.glade
index 7a8ee42..0e9d8cf 100644
--- a/contrib/anastasis_gtk_edit_providers.glade
+++ b/contrib/anastasis_gtk_edit_providers.glade
@@ -43,6 +43,8 @@ Author: Christian Grothoff
<column type="gboolean"/>
<!-- column-name not_sensitive -->
<column type="gboolean"/>
+ <!-- column-name business_name -->
+ <column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="edit_provider_dialog">
@@ -225,11 +227,11 @@ Author: Christian Grothoff
<object class="GtkTreeViewColumn"
id="url_column">
<property name="spacing">5</property>
<property name="sizing">autosize</property>
- <property name="title"
translatable="yes">URL</property>
+ <property name="title"
translatable="yes">Provider</property>
<child>
<object class="GtkCellRendererText"
id="url_renderer"/>
<attributes>
- <attribute name="text">0</attribute>
+ <attribute name="text">7</attribute>
</attributes>
</child>
</object>
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index 43f5237..e9e165a 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.38.2
+<!-- Generated with glade 3.38.2
Copyright (C) 2019-2021 Anastasis SARL
@@ -172,6 +172,8 @@ Author: Christian Grothoff, Dennis Neufeld
<column type="gchararray"/>
<!-- column-name success_flag -->
<column type="gboolean"/>
+ <!-- column-name provider_name -->
+ <column type="gchararray"/>
</columns>
</object>
<object class="GtkListStore" id="challenge_status_liststore">
@@ -322,6 +324,8 @@ Author: Christian Grothoff, Dennis Neufeld
<column type="guint"/>
<!-- column-name was_solved -->
<column type="gboolean"/>
+ <!-- column-name provider_name -->
+ <column type="gchararray"/>
</columns>
</object>
<object class="GtkAdjustment" id="policy_version_adjustment">
@@ -1929,6 +1933,9 @@ with <a
href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
<child type="label">
@@ -2229,7 +2236,7 @@ You can also use "back" to add additional authentication
methods.</property>
<child>
<object
class="GtkCellRendererText" id="provider_url_column"/>
<attributes>
- <attribute
name="text">3</attribute>
+ <attribute
name="text">9</attribute>
</attributes>
</child>
</object>
@@ -3082,7 +3089,7 @@ date of your secret's recovery data.</property>
<child>
<object
class="GtkCellRendererText" id="provider_url"/>
<attributes>
- <attribute
name="text">0</attribute>
+ <attribute
name="text">4</attribute>
</attributes>
</child>
</object>
diff --git a/src/anastasis/anastasis-gtk_action.c
b/src/anastasis/anastasis-gtk_action.c
index aefb379..d98d25c 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -65,6 +65,47 @@ bool AG_in_secret_name_editing;
#define DEBUG 0
+
+/**
+ * Lookup provider name by provider URL in our state.
+ *
+ * @param provider_url URL to lookup name for
+ * @return provider name, or if unknown, the @a provider_url
+ */
+static const char *
+lookup_provider_name (const char *provider_url)
+{
+ json_t *providers;
+ json_t *provider;
+ const char *name;
+ struct GNUNET_JSON_Specification spec[] = {
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_string ("business_name",
+ &name)),
+ GNUNET_JSON_spec_end ()
+ };
+
+ providers = json_object_get (AG_redux_state,
+ "authentication_providers");
+ provider = json_object_get (providers,
+ provider_url);
+ if (NULL == provider)
+ return provider_url;
+ if (GNUNET_OK !=
+ GNUNET_JSON_parse (provider,
+ spec,
+ NULL, NULL))
+ {
+ GNUNET_break (0);
+ json_dumpf (provider,
+ stderr,
+ JSON_INDENT (2));
+ return provider_url;
+ }
+ return name;
+}
+
+
/**
* Prepare window for selection of the continent.
*/
@@ -931,10 +972,10 @@ action_policies_reviewing (void)
json_array_foreach (methods, mindex, method)
{
uint32_t imethod;
- const char *provider;
+ const char *provider_url;
struct GNUNET_JSON_Specification mspec[] = {
GNUNET_JSON_spec_string ("provider",
- &provider),
+ &provider_url),
GNUNET_JSON_spec_uint32 ("authentication_method",
&imethod),
GNUNET_JSON_spec_end ()
@@ -969,6 +1010,7 @@ action_policies_reviewing (void)
GNUNET_JSON_spec_end ()
};
struct TALER_Amount method_cost;
+ const char *provider_name;
if (GNUNET_OK !=
GNUNET_JSON_parse (jmethod,
@@ -979,13 +1021,14 @@ action_policies_reviewing (void)
continue;
}
if (GNUNET_OK !=
- lookup_recovery_cost (provider,
+ lookup_recovery_cost (provider_url,
type,
&method_cost))
{
GNUNET_break (0);
continue;
}
+ provider_name = lookup_provider_name (provider_url);
gtk_tree_store_insert_with_values (
ts,
&miter,
@@ -998,7 +1041,7 @@ action_policies_reviewing (void)
AG_PRMC_COST,
TALER_amount2s (&method_cost),
AG_PRMC_PROVIDER_URL,
- provider,
+ provider_url,
AG_PRMC_EXPIRATION_TIME_STR,
"N/A",
AG_PRMC_POLICY_INDEX,
@@ -1007,6 +1050,8 @@ action_policies_reviewing (void)
TRUE,
AG_PRMC_METHOD_INDEX,
(guint) mindex,
+ AG_PRMC_PROVIDER_NAME,
+ provider_name,
-1);
if (NULL == summary)
{
@@ -1586,6 +1631,8 @@ action_backup_finished (void)
GNUNET_STRINGS_absolute_time_to_string (pexp),
AG_BPC_SUCCESS_FLAG,
true,
+ AG_BPC_PROVIDER_NAME,
+ lookup_provider_name (url),
-1);
}
{
diff --git a/src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c
b/src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c
index 9b83813..28e7199 100644
--- a/src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c
+++ b/src/anastasis/anastasis-gtk_handle-auth-edit-provider-clicked.c
@@ -318,6 +318,7 @@ url_add_button_clicked_cb (GtkButton *button,
AG_PMC_PROVIDER_ENABLED, true,
AG_PMC_PROVIDER_SENSITIVE, false,
AG_PMC_PROVIDER_NOT_SENSITIVE, true,
+ AG_PMC_PROVIDER_NAME, url,
-1);
gtk_entry_set_text (entry,
"");
@@ -448,10 +449,14 @@ anastasis_gtk_edit_provider_list_clicked_cb (GtkButton
*object,
uint32_t ec;
struct TALER_Amount ll;
bool disabled = false;
+ const char *name = NULL;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_uint32 ("http_status",
&http_code)),
+ GNUNET_JSON_spec_mark_optional (
+ GNUNET_JSON_spec_string ("business_name",
+ &name)),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_bool ("disabled",
&disabled)),
@@ -520,6 +525,8 @@ anastasis_gtk_edit_provider_list_clicked_cb (GtkButton
*object,
(unsigned int) ec);
color = "red";
}
+ if (NULL == name)
+ name = url;
gtk_list_store_insert_with_values (
ls,
NULL,
@@ -531,6 +538,7 @@ anastasis_gtk_edit_provider_list_clicked_cb (GtkButton
*object,
AG_PMC_PROVIDER_ENABLED, ! disabled,
AG_PMC_PROVIDER_SENSITIVE, sensitive,
AG_PMC_PROVIDER_NOT_SENSITIVE, ! sensitive,
+ AG_PMC_PROVIDER_NAME, name,
-1);
GNUNET_free (status);
}
diff --git a/src/anastasis/anastasis-gtk_helper.h
b/src/anastasis/anastasis-gtk_helper.h
index 8fda696..35cd633 100644
--- a/src/anastasis/anastasis-gtk_helper.h
+++ b/src/anastasis/anastasis-gtk_helper.h
@@ -163,7 +163,7 @@ enum AG_ChallengeStatusModelColumns
enum AG_ProviderModelColumns
{
/**
- * A gchararray. Contains the providers base URL.
+ * A gchararray. Contains the provider's base URL.
*/
AG_PMC_PROVIDER_URL = 0,
@@ -195,7 +195,13 @@ enum AG_ProviderModelColumns
/**
* A gboolean. false if this provider can be enabled.
*/
- AG_PMC_PROVIDER_NOT_SENSITIVE = 6
+ AG_PMC_PROVIDER_NOT_SENSITIVE = 6,
+
+ /**
+ * A gchararray. Contains the provider's business name, if known,
+ * otherwise the provider's base URL.
+ */
+ AG_PMC_PROVIDER_NAME = 7,
};
@@ -223,7 +229,12 @@ enum AG_BackupProviderColumns
/**
* A gboolean.
*/
- AG_BPC_SUCCESS_FLAG = 3
+ AG_BPC_SUCCESS_FLAG = 3,
+
+ /**
+ * A gchararray.
+ */
+ AG_BPC_PROVIDER_NAME = 4
};
@@ -336,7 +347,12 @@ enum AG_PolicyReviewModelColumns
/**
* A gboolean. True on lines representing solved challenges.
*/
- AG_PRMC_WAS_SOLVED
+ AG_PRMC_WAS_SOLVED = 8,
+
+ /**
+ * Name of the provider (if known, otherwise the provider's URL).
+ */
+ AG_PRMC_PROVIDER_NAME = 9
};
--
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: fix #7078,
gnunet <=