Commit 53aeb33f authored by Luke "Jared" Bennett's avatar Luke "Jared" Bennett

Correct views for first iteration agreement

parent 6d14a664
...@@ -153,7 +153,7 @@ module ProjectsHelper ...@@ -153,7 +153,7 @@ module ProjectsHelper
return nil unless team['display_name'] && team['id'] return nil unless team['display_name'] && team['id']
[team['display_name'], team['id']] [team['display_name'], team['id']]
end.compact end.compact
teams_options.unshift(['Select a team...', '0']) unless teams_options.count === 1 teams_options.unshift(['Select a team...', '0']) unless teams_options.one?
teams_options teams_options
end end
......
- twoTeams = [{"id"=>"w59qt5a817f69jkxdz6xe7y4ir", "create_at"=>1481835484179, "update_at"=>1481835484179, "delete_at"=>0, "display_name"=>"new_team", "name"=>"new-team", "email"=>"", "type"=>"O", "company_name"=>"", "allowed_domains"=>"", "invite_id"=>"mfgsqnmpiby18eepo6jd6pq3oh", "allow_open_invite"=>false}, {"id"=>"my9oujxf5jy1zqdgu9rihd66do", "create_at"=>1481826062406, "update_at"=>1481826062406, "delete_at"=>0, "display_name"=>"chatops", "name"=>"chatops", "email"=>"", "type"=>"O", "company_name"=>"", "allowed_domains"=>"", "invite_id"=>"s7c1phenmi8udkybcyytc3pxuh", "allow_open_invite"=>false}]
- oneTeams = [{"id"=>"w59qt5a817f69jkxdz6xe7y4ir", "create_at"=>1481835484179, "update_at"=>1481835484179, "delete_at"=>0, "display_name"=>"new_team", "name"=>"new-team", "email"=>"", "type"=>"O", "company_name"=>"", "allowed_domains"=>"", "invite_id"=>"mfgsqnmpiby18eepo6jd6pq3oh", "allow_open_invite"=>false}]
- noTeams = []
- teams = twoTeams
.service-installation .service-installation
.inline.pull-right .inline.pull-right
= custom_icon('mattermost_logo', size: 48) = custom_icon('mattermost_logo', size: 48)
%h3 Install Mattermost Command %h3 Install Mattermost Command
- if teams.count === 0 - if @teams.empty?
%p %p
To install this service, you must be administrator of a team in the Mattermost instance at To install this service, you must be administrator of a team in the Mattermost instance at
%strong some_path.url %strong some_path.url
...@@ -23,7 +18,7 @@ ...@@ -23,7 +18,7 @@
= form_for(:create, method: :post, url: configure_namespace_project_mattermost_index_path(@project.namespace, @project, )) do |f| = form_for(:create, method: :post, url: configure_namespace_project_mattermost_index_path(@project.namespace, @project, )) do |f|
%h4 Team %h4 Team
%p Select or create the team where the slash commands will be used in %p Select or create the team where the slash commands will be used in
- options = mattermost_teams_options(teams) - options = mattermost_teams_options(@teams)
- isOneTeam = options.count === 1 - isOneTeam = options.count === 1
= f.select(:team_id, options, {}, {class: 'form-control', selected: "#{options.first[1] if isOneTeam}", disabled: isOneTeam}) = f.select(:team_id, options, {}, {class: 'form-control', selected: "#{options.first[1] if isOneTeam}", disabled: isOneTeam})
- if isOneTeam - if isOneTeam
......
...@@ -8,14 +8,13 @@ ...@@ -8,14 +8,13 @@
.col-lg-9 .col-lg-9
= form_for(@service, as: :service, url: namespace_project_service_path(@project.namespace, @project, @service.to_param), method: :put, html: { class: 'form-horizontal' }) do |form| = form_for(@service, as: :service, url: namespace_project_service_path(@project.namespace, @project, @service.to_param), method: :put, html: { class: 'form-horizontal' }) do |form|
= render 'shared/service_settings', form: form, subject: @service = render 'shared/service_settings', form: form, subject: @service
- if @service.to_param != 'mattermost_slash_commands' .footer-block.row-content-block
.footer-block.row-content-block = form.submit 'Save changes', class: 'btn btn-save'
= form.submit 'Save changes', class: 'btn btn-save'  
  - if @service.valid? && @service.activated?
- if @service.valid? && @service.activated? - unless @service.can_test?
- unless @service.can_test? - disabled_class = 'disabled'
- disabled_class = 'disabled' - disabled_title = @service.disabled_title
- disabled_title = @service.disabled_title
= link_to 'Test settings', test_namespace_project_service_path(@project.namespace, @project, @service), class: "btn #{disabled_class}", title: disabled_title = link_to 'Test settings', test_namespace_project_service_path(@project.namespace, @project, @service), class: "btn #{disabled_class}", title: disabled_title
= link_to "Cancel", namespace_project_services_path(@project.namespace, @project), class: "btn btn-cancel" = link_to "Cancel", namespace_project_services_path(@project.namespace, @project), class: "btn btn-cancel"
- run_actions_text = "Perform common operations on this project: #{@project.name_with_namespace}"
To setup this service:
%ul.list-unstyled
%li
1.
= link_to 'Enable custom slash commands', 'https://docs.mattermost.com/developer/slash-commands.html#enabling-custom-commands'
on your Mattermost installation
%li
2.
= link_to 'Add a slash command', 'https://docs.mattermost.com/developer/slash-commands.html#set-up-a-custom-command'
in Mattermost with these options:
%hr
.help-form
.form-group
= label_tag :display_name, 'Display name', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :display_name, "GitLab / #{@project.name_with_namespace}", class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#display_name')
.form-group
= label_tag :description, 'Description', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :description, run_actions_text, class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#description')
.form-group
= label_tag nil, 'Command trigger word', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.text-block
%p Fill in the word that works best for your team.
%p
Suggestions:
%code= 'gitlab'
%code= @project.path # Path contains no spaces, but dashes
%code= @project.path_with_namespace
.form-group
= label_tag :request_url, 'Request URL', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :request_url, service_trigger_url(subject), class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#request_url')
.form-group
= label_tag nil, 'Request method', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.text-block POST
.form-group
= label_tag :response_username, 'Response username', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :response_username, 'GitLab', class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#response_username')
.form-group
= label_tag :response_icon, 'Response icon', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :response_icon, asset_url('gitlab_logo.png'), class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#response_icon')
.form-group
= label_tag nil, 'Autocomplete', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.text-block Yes
.form-group
= label_tag :autocomplete_hint, 'Autocomplete hint', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :autocomplete_hint, '[help]', class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#autocomplete_hint')
.form-group
= label_tag :autocomplete_description, 'Autocomplete description', class: 'col-sm-2 col-xs-12 control-label'
.col-sm-10.col-xs-12.input-group
= text_field_tag :autocomplete_description, run_actions_text, class: 'form-control input-sm', readonly: 'readonly'
.input-group-btn
= clipboard_button(clipboard_target: '#autocomplete_description')
%hr
%ul.list-unstyled
%li
3. After adding the slash command, paste the
%strong token
into the field below
- enabled = Gitlab.config.mattermost.enabled
.well .well
This service allows GitLab users to perform common operations on this This service allows GitLab users to perform common operations on this
project by entering slash commands in Mattermost. project by entering slash commands in Mattermost.
...@@ -5,5 +7,6 @@ ...@@ -5,5 +7,6 @@
See list of available commands in Mattermost after setting up this service, See list of available commands in Mattermost after setting up this service,
by entering by entering
%code /<command_trigger_word> help %code /<command_trigger_word> help
= render 'projects/services/mattermost_slash_commands/detailed_help', subject: @service unless enabled
= render 'projects/services/mattermost_slash_commands/installation_info' = render 'projects/services/mattermost_slash_commands/installation_info' if enabled
...@@ -7,45 +7,44 @@ ...@@ -7,45 +7,44 @@
= preserve do = preserve do
= markdown @service.help = markdown @service.help
- if @service.to_param != 'mattermost_slash_commands' .service-settings
.service-settings .form-group
= form.label :active, "Active", class: "control-label"
.col-sm-10
= form.check_box :active
- if @service.supported_events.present?
.form-group .form-group
= form.label :active, "Active", class: "control-label" = form.label :url, "Trigger", class: 'control-label'
.col-sm-10 .col-sm-10
= form.check_box :active - @service.supported_events.each do |event|
%div
- if @service.supported_events.present? = form.check_box service_event_field_name(event), class: 'pull-left'
.form-group .prepend-left-20
= form.label :url, "Trigger", class: 'control-label' = form.label service_event_field_name(event), class: 'list-label' do
%strong
.col-sm-10 = event.humanize
- @service.supported_events.each do |event|
%div - field = @service.event_field(event)
= form.check_box service_event_field_name(event), class: 'pull-left'
.prepend-left-20 - if field
= form.label service_event_field_name(event), class: 'list-label' do %p
%strong = form.text_field field[:name], class: "form-control", placeholder: field[:placeholder]
= event.humanize
%p.light
- field = @service.event_field(event) = service_event_description(event)
- if field - @service.global_fields.each do |field|
%p - type = field[:type]
= form.text_field field[:name], class: "form-control", placeholder: field[:placeholder]
- if type == 'fieldset'
%p.light - fields = field[:fields]
= service_event_description(event) - legend = field[:legend]
- @service.global_fields.each do |field| %fieldset
- type = field[:type] %legend= legend
- fields.each do |subfield|
- if type == 'fieldset' = render 'shared/field', form: form, field: subfield
- fields = field[:fields] - else
- legend = field[:legend] = render 'shared/field', form: form, field: field
%fieldset
%legend= legend
- fields.each do |subfield|
= render 'shared/field', form: form, field: subfield
- else
= render 'shared/field', form: form, field: field
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment