in www/board/agenda/views/buttons/post.js.rb [28:299]
def render
_ModalDialog.wide_form.post_report_form! color: 'commented' do
if @button == 'add item'
_h4 'Select Item Type'
_ul.new_item_type do
_li do
_button.btn.btn_primary 'Change Chair', onClick: selectItem
_ '- change chair for an existing PMC'
end
_li do
_button.btn.btn_primary 'Establish Project', onClick: selectItem
_ '- direct to TLP project and subproject to TLP'
end
_li do
_button.btn.btn_primary 'Terminate Project', onClick: selectItem
_ '- move a project to the attic'
end
_li do
_button.btn.btn_primary 'New Resolution', onClick: selectItem
_ '- free form entry of a new resolution'
end
_li do
_button.btn.btn_info 'Out of Cycle Report', onClick: selectItem
_ '- report from a PMC not currently on the agenda for this month'
end
_li do
_button.btn.btn_success 'Discussion Item', onClick: selectItem
_ '- add a discussion item to the agenda'
end
end
_button.btn_default 'Cancel', data_dismiss: 'modal'
elsif @button == 'Change Chair'
_h4 'Change Chair Resolution'
_div.form_group do
_label 'PMC', for: 'change-chair-pmc'
_select.form_control.change_chair_pmc!(
onChange: ->(event) {chair_pmc_change(event.target.value)}
) do
@pmcs.each {|pmc| _option pmc}
end
end
_div.form_group do
_label 'Outgoing Chair', for: 'outgoing-chair'
_input.form_control.outgoing_chair! value: @outgoing_chair,
disabled: true
end
_div.form_group do
_label 'Incoming Chair', for: 'incoming-chair'
_select.form_control.incoming_chair! do
@pmc_members.each do |person|
_option person.name, value: person.id,
selected: person.id == User.id
end
end
end
_button.btn_default 'Cancel', data_dismiss: 'modal'
_button.btn_primary 'Draft', disabled: @disabled,
onClick: draft_chair_change_resolution
elsif @button == 'Establish Project'
_h4 'Establish Project Resolution'
_div.form_group do
_label 'PMC name', for: 'establish-pmc'
_input.form_control.establish_pmc! value: @pmcname
end
_div.form_group do
pmcname = @pmcname
if @pmcname and @pmcname !~ /[A-Z]/
pmcname.gsub!(/\b\w/) {|c| c.upcase()}
end
_label 'Complete this sentence:', for: 'establish-description'
_ " Apache #{pmcname} consists of software related to" if pmcname
_textarea.form_control.establish_description! value: @pmcdesc,
disabled: !pmcname
end
_div.form_group do
_label 'Parent PMC name (if applicable)', for: 'parent-pmc'
_select.form_control.parent_pmc!(
onChange: ->(event) {parent_pmc_change(event.target.value)}
) do
_option '-- none --', value: '', selected: true
@pmcs.each {|pmc| _option pmc unless pmc == 'incubator'}
end
end
if @chair
_div.form_group do
_label "Chair: #{@chair.name}"
end
end
_label 'Initial set of PMC members'
_p do
if !@chair
_ 'Search for the chair '
else
_ 'Search for additional PMC members '
end
_ 'using the search box below, and select '
_ 'the desired name using the associated checkbox'
end
@pmc.each do |person|
_div.form_check do
_input.form_check_input type: 'checkbox', checked: true,
value: person.id, id: "person_#{person.id}"
_label.form_check_label person.name, for: "person_#{person.id}"
end
end
_input.form_control value: @search, placeholder: 'search'
if @search.length >= 3 and Server.committers
search = @search.downcase().split(' ')
Server.committers.each do |person|
if
search.all? {|part|
person.id.include? part or
person.name.downcase().include? part
} \
and
not @pmc.include? person
then
_div.form_check key: person.id do
_input.form_check_input type: 'checkbox',
id: "person_#{person.id}",
onClick: -> {establish_pmc(person)}
_label.form_check_label person.name,
for: "person_#{person.id}"
end
end
end
elsif @search.length == 0 and @roster and not @roster.empty?
@roster.each do |person|
unless @pmc.include? person
_div.form_check key: person.id do
_input.form_check_input type: 'checkbox',
id: "person_#{person.id}",
onClick: -> {establish_pmc(person)}
_label.form_check_label person.name,
for: "person_#{person.id}"
end
end
end
end
_button.btn_default 'Cancel', data_dismiss: 'modal'
_button.btn_primary 'Draft', onClick: draft_establish_project,
disabled: (!@pmcname or !@pmcdesc or @pmc.empty?)
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'
_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'
reporting_this_month = []
Agenda.index.each do |item|
if item.roster and item.attach =~ /^[A-Z]+$/
reporting_this_month << item.roster.split('/').pop()
end
end
_div.form_group do
_label 'PMC', for: 'out-of-cycle-pmc'
_select.form_control.out_of_cycle_pmc! do
@pmcs.each do |pmc|
_option pmc unless reporting_this_month.include? pmc
end
end
end
_button.btn_default 'Cancel', data_dismiss: 'modal'
_button.btn_primary 'Draft', disabled: @pmcs.empty?,
onClick: draft_out_of_cycle_report
else
_h4 @header
if @header == 'Add Resolution' or @header == 'Add Discussion Item'
_input.post_report_title! label: 'title', disabled: @disabled,
placeholder: 'title', value: @title, onFocus: self.default_title
end
_textarea.post_report_text! label: @label, value: @report,
placeholder: @label, rows: 17, disabled: @disabled,
onInput: self.change_text
if @@item.title == 'Treasurer'
_form do
_div.form_group do
_label 'financial spreadsheet from virtual', for: 'upload'
_input.upload! type: 'file', value: @upload
_button.btn.btn_primary 'Upload', onClick: upload_spreadsheet,
disabled: @disabled || !@upload
end
end
end
if @header != 'Add Resolution' and @header != 'Add Discussion Item'
_input.post_report_message! label: 'commit message',
disabled: @disabled, value: @message
end
_button.btn_default 'Cancel', data_dismiss: 'modal'
_button 'Reflow', class: self.reflow_color(), onClick: self.reflow
_button.btn_primary 'Submit', onClick: self.submit,
disabled: (not self.ready())
end
end
end