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

rubys 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 30a7486  terminate project resolution
30a7486 is described below

commit 30a7486deead1296ae964d32d66f8252c9584ce6
Author: Sam Ruby <ru...@intertwingly.net>
AuthorDate: Fri Apr 6 09:59:23 2018 -0400

    terminate project resolution
---
 www/board/agenda/templates/terminate.erb  |  4 +-
 www/board/agenda/views/buttons/post.js.rb | 79 +++++++++++++++++++++++++++++--
 2 files changed, 77 insertions(+), 6 deletions(-)

diff --git a/www/board/agenda/templates/terminate.erb 
b/www/board/agenda/templates/terminate.erb
index cd327c7..01407cd 100644
--- a/www/board/agenda/templates/terminate.erb
+++ b/www/board/agenda/templates/terminate.erb
@@ -1,8 +1,8 @@
-<% if @method == 'vote' %>
+<% if @reason == 'vote' %>
 WHEREAS, the Project Management Committee of the Apache 
 <%= @committee.display_name %> project has chosen by vote to recommend moving
 the project to the Attic; and
-<% elsif @method == 'consensus' %>
+<% elsif @reason == 'consensus' %>
 WHEREAS, the Project Management Committee of the Apache 
 <%= @committee.display_name %> project has arrived at a consensus to recommend
 moving the project to the Attic; and
diff --git a/www/board/agenda/views/buttons/post.js.rb 
b/www/board/agenda/views/buttons/post.js.rb
index 9471ea1..f7818cc 100644
--- a/www/board/agenda/views/buttons/post.js.rb
+++ b/www/board/agenda/views/buttons/post.js.rb
@@ -31,7 +31,7 @@ class Post < Vue
         _ul.new_item_type do
           _li do
             _button.btn.btn_primary 'Change Chair', onClick: selectItem
-            _span '- change chair for an existing PMC'
+            _ '- change chair for an existing PMC'
           end
   
           _li do
@@ -39,17 +39,18 @@ class Post < Vue
           end
   
           _li do
-            _button.btn.btn_primary 'Terminate Project', disabled: true
+            _button.btn.btn_primary 'Terminate Project', onClick: selectItem
+            _ '- move a project to the attic'
           end
   
           _li do
             _button.btn.btn_primary 'Out of Cycle Report', onClick: selectItem
-            _span '- report from a PMC not currently on the agenda for this 
month'
+            _ '- report from a PMC not currently on the agenda for this month'
           end
   
           _li do
             _button.btn.btn_primary 'New Resolution', onClick: selectItem
-            _span '- free form entry of a new resolution'
+            _ '- free form entry of a new resolution'
           end
         end
   
@@ -87,6 +88,43 @@ class Post < Vue
         _button.btn_primary 'Draft', disabled: @disabled,
           onClick: draft_chair_change_resolution
 
+      elsif @button == 'Terminate Project'
+        _h4 'Terminate Project Resolution'
+
+        _div.form_group do
+          _label 'PMC', for: 'terminate-pmc'
+          _select.form_control.terminate_pmc! do
+            @pmcs.each {|pmc| _option pmc}
+          end
+        end
+
+        _p 'Reason for termination:'
+
+        _div.form_check do
+          _input.form_check_input.termvote! type: 'radio', name: 'termreason', 
+            onClick: -> {@termreason = 'vote'}
+          _label.form_check_label 'by vote of the PMC', for: 'termvote'
+        end
+
+        _div.form_check do
+          _input.form_check_input.termconsensus! type: 'radio', 
+            name: 'termreason', onClick: -> {@termreason = 'consensus'}
+          _label.form_check_label 'by consensus of the PMC', 
+            for: 'termconsensus'
+        end
+
+        _div.form_check do
+          _input.form_check_input.termboard! type: 'radio', 
+            name: 'termreason', onClick: -> {@termreason = 'board'}
+          _label.form_check_label 'by the board for inactivity', 
+            for: 'termboard'
+        end
+
+        _button.btn_default 'Cancel', data_dismiss: 'modal', disabled: 
@disabled
+        _button.btn_primary 'Draft', onClick: draft_terminate_project,
+          disabled: (@pmcs.empty? or not @termreason)
+
+
       elsif @button == 'Out of Cycle Report'
         _h4 'Out of Cycle PMC Report'
 
@@ -149,6 +187,8 @@ class Post < Vue
 
     if @button == 'Change Chair'
       initialize_chair_change()
+    elsif @button == 'Terminate Project'
+      initialize_terminate_project()
     elsif @button == 'Out of Cycle Report'
       initialize_out_of_cycle()
     end
@@ -416,6 +456,37 @@ class Post < Vue
   end
 
   #########################################################################
+  #                            Terminate Project                          #
+  #########################################################################
+
+  def initialize_terminate_project()
+    # get a list of PMCs
+    @pmcs = []
+    post 'post-data', request: 'committee-list' do |response|
+      @pmcs = response
+    end
+
+    @terreason = nil
+  end
+
+  def draft_terminate_project()
+    @disabled = true
+    options = {
+      request: 'terminate', 
+      pmc: document.getElementById('terminate-pmc').value, 
+      reason: @termreason
+    }
+
+    post 'post-data', options do |response|
+      @button = @header = 'Add Resolution'
+      @title = response.title
+      @report = response.draft
+      @label = 'resolution'
+      @disabled = false
+    end
+  end
+
+  #########################################################################
   #                           Out of Cycle report                         #
   #########################################################################
 

-- 
To stop receiving notification emails like this one, please contact
ru...@apache.org.

Reply via email to