]> git.ipfire.org Git - ipfire.org.git/commitdiff
accounts: Allow editing alternate email addresses
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 27 Nov 2024 13:32:28 +0000 (13:32 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 27 Nov 2024 13:32:28 +0000 (13:32 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/accounts.py
src/templates/users/edit.html
src/web/users.py

index d3de693dfd2d30312193a2209acf5159239ee832..27322c9b194866462d65d29db51ffaa35ab0aacd 100644 (file)
@@ -1098,12 +1098,20 @@ class Account(LDAPObject):
        def email_to(self):
                return "%s <%s>" % (self, self.email)
 
-       @lazy_property
-       def alternate_email_addresses(self):
+       # Alternate Email Addresses
+
+       def get_alternate_email_addresses(self):
                addresses = self._get_strings("mailAlternateAddress")
 
                return sorted(addresses)
 
+       def set_alternate_email_addresses(self, addresses):
+               self._set_strings("mailAlternateAddress", addresses)
+
+       alternate_email_addresses = property(
+               get_alternate_email_addresses, set_alternate_email_addresses,
+       )
+
        # Mail Routing Address
 
        def get_mail_routing_address(self):
index 51cbceec55e09eb8345cba1dc4370934db9d1b75..775f7faa2a7cdc226aabfa78dea33ce9ca87d439 100644 (file)
 
                                                {# Email #}
                                                {% if account.has_mail() %}
+                                                       <div class="field">
+                                                               <label class="label">{{ _("Alternate Email Addresses") }}</label>
+
+                                                               <div class="control">
+                                                                       <textarea class="textarea" name="alternate_email_addresses"
+                                                                               placeholder="{{ _("Alternate Email Addresses") }}"
+                                                                               >{{ "\n".join(account.alternate_email_addresses) }}</textarea>
+                                                               </div>
+
+                                                               <p class="help">
+                                                                       {{ _("All emails will be forwarded to this email address") }}
+                                                               </p>
+                                                       </div>
+
+
                                                        <div class="field">
                                                                <label class="label">{{ _("Email") }}</label>
 
index bc4e57f94917897f076996d805f6db8743790e58..7342258787cf78d91d8fdafb489fa32292f24467 100644 (file)
@@ -197,6 +197,7 @@ class EditHandler(base.BaseHandler):
                                pass
 
                        # Email
+                       account.alternate_email_addresses = self.get_argument("alternate_email_addresses", "").split()
                        account.mail_routing_address = self.get_argument("mail_routing_address", None)
 
                        # Telephone