summaryrefslogtreecommitdiffstats
path: root/app/views/settings/_repositories.html.erb
blob: d90c212ec61c68d9421041301fa5e8681a9cd629 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<%= form_tag({:action => 'edit', :tab => 'repositories'}) do %>

<fieldset class="box settings enabled_scm">
<legend><%= l(:setting_enabled_scm) %></legend>
<%= hidden_field_tag 'settings[enabled_scm][]', '' %>
<table>
  <tr>
    <th></th>
    <th><%= l(:text_scm_command)         %></th>
    <th><%= l(:text_scm_command_version) %></th>
  </tr>
  <% Redmine::Scm::Base.all.collect do |choice| %>
    <% scm_class = "Repository::#{choice}".constantize %>
    <% text, value = (choice.is_a?(Array) ? choice : [choice, choice]) %>
    <% setting = :enabled_scm %>
    <% enabled = Setting.send(setting).include?(value) %>
    <tr>
      <td class="scm_name">
        <label>
          <%= check_box_tag("settings[#{setting}][]", value, enabled, :id => nil) %>
          <%= text.to_s %>
        </label>
      </td>
      <td>
        <% if enabled %>
          <%=
            image_tag(
              (scm_class.scm_available ? 'true.png' : 'exclamation.png'),
              :style => "vertical-align:bottom;"
            )
           %>
          <%= scm_class.scm_command %>
        <% end %>
      </td>
      <td>
        <%= scm_class.scm_version_string if enabled %>
      </td>
    </tr>
  <% end %>
</table>
<p><em class="info"><%= l(:text_scm_config) %></em></p>
</fieldset>

<div class="box tabular settings">
<p><%= setting_check_box :autofetch_changesets %></p>

<p><%= setting_check_box :sys_api_enabled,
                         :onclick =>
                             "if (this.checked) { $('#settings_sys_api_key').removeAttr('disabled'); } else { $('#settings_sys_api_key').attr('disabled', true); }" %></p>

<p><%= setting_text_field :sys_api_key,
                          :size     => 30,
                          :id       => 'settings_sys_api_key',
                          :disabled => !Setting.sys_api_enabled?,
                          :label    => :setting_mail_handler_api_key %>
  <%= link_to_function l(:label_generate_key),
                       "if (!$('#settings_sys_api_key').attr('disabled')) { $('#settings_sys_api_key').val(randomKey(20)) }" %>
</p>

<p><%= setting_text_field :repository_log_display_limit, :size => 6 %></p>
</div>

<fieldset class="box tabular settings">
<legend><%= l(:text_issues_ref_in_commit_messages) %></legend>
<p><%= setting_text_field :commit_ref_keywords, :size => 30 %>
<em class="info"><%= l(:text_comma_separated) %></em></p>

<p><%= setting_check_box :commit_cross_project_ref %></p>

<p><%= setting_check_box :commit_logtime_enabled,
                         :onclick =>
                            "if (this.checked) { $('#settings_commit_logtime_activity_id').removeAttr('disabled'); } else { $('#settings_commit_logtime_activity_id').attr('disabled', true); }"%></p>

<p><%= setting_select :commit_logtime_activity_id,
                      [[l(:label_default), 0]] +
                          TimeEntryActivity.shared.active.collect{|activity| [activity.name, activity.id.to_s]},
                      :disabled => !Setting.commit_logtime_enabled?%></p>
</fieldset>

<table class="list" id="commit-keywords">
  <thead>
    <tr>
      <th><%= l(:setting_commit_fix_keywords) %></th>
      <th><%= l(:label_applied_status) %></th>
      <th><%= l(:field_done_ratio) %></th>
      <th class="buttons"></th>
    </tr>
  </thead>
  <tbody>
    <% @commit_update_keywords.each do |keywords, updates| %>
    <tr class="commit-keywords">
      <td><%= text_field_tag "settings[commit_update_keywords][keywords][]", keywords, :size => 30 %></td>
      <td><%= select_tag "settings[commit_update_keywords][status_id][]", options_for_select([["", 0]] + IssueStatus.sorted.all.collect{|status| [status.name, status.id.to_s]}, updates['status_id']) %></td>
      <td><%= select_tag "settings[commit_update_keywords][done_ratio][]", options_for_select([["", ""]] + (0..10).to_a.collect {|r| ["#{r*10} %", "#{r*10}"] }, updates['done_ratio']) %></td>
      <td class="buttons"><%= link_to image_tag('delete.png'), '#', :class => 'delete-commit-keywords' %></td>
    </tr>
    <% end %>
    <tr>
      <td><em class="info"><%= l(:text_comma_separated) %></em></td>
      <td></td>
      <td></td>
      <td class="buttons"><%= link_to image_tag('add.png'), '#', :class => 'add-commit-keywords' %></td>
    </tr>
  </tbody>
</table>

<p><%= submit_tag l(:button_save) %></p>
<% end %>

<%= javascript_tag do %>
$('#commit-keywords').on('click', 'a.delete-commit-keywords', function(e){
  e.preventDefault();
  if ($('#commit-keywords tbody tr.commit-keywords').length > 1) {
    $(this).parents('#commit-keywords tr').remove();
  } else {
    $('#commit-keywords tbody tr.commit-keywords').find('input, select').val('');
  }
});
$('#commit-keywords').on('click', 'a.add-commit-keywords', function(e){
  e.preventDefault();
  var row = $('#commit-keywords tr.commit-keywords:last');
  row.clone().insertAfter(row).find('input, select').val('');
});
<% end %>