You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2022/02/18 22:11:42 UTC

[whimsy] branch master updated: Add generic reject template handler

This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 92a0545  Add generic reject template handler
92a0545 is described below

commit 92a054534f904d7958229d5c62d319f9a5a65423
Author: Sebb <se...@apache.org>
AuthorDate: Fri Feb 18 22:11:30 2022 +0000

    Add generic reject template handler
    
    Also sample reply
---
 www/secretary/workbench/templates/empty.erb        |  7 ++++
 .../workbench/views/actions/generic_reject.json.rb | 37 ++++++++++++++++++++++
 www/secretary/workbench/views/parts.js.rb          | 13 ++++++++
 3 files changed, 57 insertions(+)

diff --git a/www/secretary/workbench/templates/empty.erb b/www/secretary/workbench/templates/empty.erb
new file mode 100644
index 0000000..3d7b7fb
--- /dev/null
+++ b/www/secretary/workbench/templates/empty.erb
@@ -0,0 +1,7 @@
+Dear <%= @email.display_names.join(', ') %>,
+
+The form you submitted appears to be completely empty. Please resubmit.
+
+Warm Regards,
+
+<%= @sig %>
diff --git a/www/secretary/workbench/views/actions/generic_reject.json.rb b/www/secretary/workbench/views/actions/generic_reject.json.rb
new file mode 100644
index 0000000..1cc96da
--- /dev/null
+++ b/www/secretary/workbench/views/actions/generic_reject.json.rb
@@ -0,0 +1,37 @@
+# extract message
+message = Mailbox.find(@message)
+
+# obtain per-user information
+_personalize_email(env.user)
+
+# extract/verify project
+_extract_project
+
+########################################################################
+#                           email submitter                            #
+########################################################################
+
+# send rejection email
+task "email #{message.from}" do
+  # build mail from template
+  @email = message.from
+  mail = message.reply(
+    from: @from,
+    cc: [
+      'secretary@apache.org',
+      ("private@#{@pmc.mail_list}.apache.org" if @pmc), # copy pmc if selected
+      @podling&.private_mail_list # copy podling if selected
+    ],
+    body: template("#{@doctype}.erb")
+  )
+
+  # echo email
+  form do
+    _message mail.to_s
+  end
+
+  # deliver mail
+  complete do
+    mail.deliver!
+  end
+end
diff --git a/www/secretary/workbench/views/parts.js.rb b/www/secretary/workbench/views/parts.js.rb
index c0c241f..07452c8 100644
--- a/www/secretary/workbench/views/parts.js.rb
+++ b/www/secretary/workbench/views/parts.js.rb
@@ -236,6 +236,12 @@ class Parts < Vue
               _span 'resubmitted form'
             end
 
+            _label do
+              _input type: 'radio', name: 'doctype', value: 'empty',
+                onClick: self.generic_reject
+              _span 'empty form'
+            end
+
           end
         end
 
@@ -547,6 +553,13 @@ class Parts < Vue
     form.submit()
   end
 
+  # Note: the doctype value is passed across as @doctype
+  def generic_reject(event)
+    form = jQuery(event.target).closest('form')
+    form.attr('action', "../../tasklist/generic_reject")
+    form.submit()
+  end
+
   ########################################################################
   #                            Miscellaneous                             #
   ########################################################################