gnunet-svn
[Top][All Lists]
Advanced

[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 &lt;a 
href="https://www.ngi.eu/ngi-projects/ledger/"&gt;funding&lt;/a&gt; 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.



reply via email to

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