Revision 1297:0a574315af3e .svn/pristine/31

View differences:

.svn/pristine/31/319ace742da33939c6f0a3745726645fe20c4534.svn-base
1
<div class="conflict">
2
  <%= l(:notice_issue_update_conflict) %> 
3
  <% if @conflict_journals.present? %>
4
    <div class="conflict-details">
5
    <% @conflict_journals.sort_by(&:id).each do |journal| %>
6
      <p><%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %></p>
7
      <% if journal.details.any? %>
8
      <ul class="details">
9
        <% details_to_strings(journal.details).each do |string| %>
10
         <li><%= string %></li>
11
        <% end %>
12
      </ul>
13
      <% end %>
14
      <%= textilizable(journal, :notes) unless journal.notes.blank? %>
15
    <% end %>
16
    </div>
17
  <% end %>
18
</div>
19
<p>
20
  <label><%= radio_button_tag 'conflict_resolution', 'overwrite' %> <%= l(:text_issue_conflict_resolution_overwrite) %></label><br />
21
  <% if @issue.notes.present? %>
22
  <label><%= radio_button_tag 'conflict_resolution', 'add_notes' %> <%= l(:text_issue_conflict_resolution_add_notes) %></label><br />
23
  <% end %>
24
  <label><%= radio_button_tag 'conflict_resolution', 'cancel' %> <%= l(:text_issue_conflict_resolution_cancel, :link => link_to_issue(@issue, :subject => false)).html_safe %></label>
25
</p>
26
<p><%= submit_tag l(:button_submit) %></p>
.svn/pristine/31/31bb85f22f4d21a57af6d104f857fd83f936b8f3.svn-base
1
# Redmine - project management software
2
# Copyright (C) 2006-2012  Jean-Philippe Lang
3
#
4
# This program is free software; you can redistribute it and/or
5
# modify it under the terms of the GNU General Public License
6
# as published by the Free Software Foundation; either version 2
7
# of the License, or (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17

  
18
require File.expand_path('../../test_helper', __FILE__)
19

  
20
class WorkflowTest < ActiveSupport::TestCase
21
  fixtures :roles, :trackers, :issue_statuses
22

  
23
  def test_copy
24
    WorkflowTransition.delete_all
25
    WorkflowTransition.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 1, :new_status_id => 2)
26
    WorkflowTransition.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 1, :new_status_id => 3, :assignee => true)
27
    WorkflowTransition.create!(:role_id => 1, :tracker_id => 2, :old_status_id => 1, :new_status_id => 4, :author => true)
28

  
29
    assert_difference 'WorkflowTransition.count', 3 do
30
      WorkflowTransition.copy(Tracker.find(2), Role.find(1), Tracker.find(3), Role.find(2))
31
    end
32

  
33
    assert WorkflowTransition.first(:conditions => {:role_id => 2, :tracker_id => 3, :old_status_id => 1, :new_status_id => 2, :author => false, :assignee => false})
34
    assert WorkflowTransition.first(:conditions => {:role_id => 2, :tracker_id => 3, :old_status_id => 1, :new_status_id => 3, :author => false, :assignee => true})
35
    assert WorkflowTransition.first(:conditions => {:role_id => 2, :tracker_id => 3, :old_status_id => 1, :new_status_id => 4, :author => true, :assignee => false})
36
  end
37

  
38
  def test_workflow_permission_should_validate_rule
39
    wp = WorkflowPermission.new(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :field_name => 'due_date')
40
    assert !wp.save
41

  
42
    wp.rule = 'foo'
43
    assert !wp.save
44

  
45
    wp.rule = 'required'
46
    assert wp.save
47

  
48
    wp.rule = 'readonly'
49
    assert wp.save
50
  end
51

  
52
  def test_workflow_permission_should_validate_field_name
53
    wp = WorkflowPermission.new(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :rule => 'required')
54
    assert !wp.save
55

  
56
    wp.field_name = 'foo'
57
    assert !wp.save
58

  
59
    wp.field_name = 'due_date'
60
    assert wp.save
61

  
62
    wp.field_name = '1'
63
    assert wp.save
64
  end
65
end
.svn/pristine/31/31dde3fcb99bae1f1bf825ebba05c5ceb4525424.svn-base
1
<div class="contextual">
2
<%= link_to_if_authorized l(:label_query_new), new_project_query_path(:project_id => @project), :class => 'icon icon-add' %>
3
</div>
4

  
5
<h2><%= l(:label_query_plural) %></h2>
6

  
7
<% if @queries.empty? %>
8
  <p><i><%=l(:label_no_data)%></i></p>
9
<% else %>
10
  <table class="list">
11
  <% @queries.each do |query| %>
12
    <tr class="<%= cycle('odd', 'even') %>">
13
      <td>
14
        <%= link_to h(query.name), :controller => 'issues', :action => 'index', :project_id => @project, :query_id => query %>
15
      </td>
16
      <td align="right">
17
        <small>
18
        <% if query.editable_by?(User.current) %>
19
        <%= link_to l(:button_edit), edit_query_path(query), :class => 'icon icon-edit' %>
20
        <%= delete_link query_path(query) %>
21
        </small>
22
      <% end %>
23
      </td>
24
    </tr>
25
  <% end %>
26
  </table>
27
<% end %>
.svn/pristine/31/31fa3914a91d4720d86c081f871b079fae9c31a5.svn-base
1
class <%= @migration_class_name %> < ActiveRecord::Migration
2
  def change
3
    create_table :<%= @table_name %> do |t|
4
<% attributes.each do |attribute| -%>
5
      t.<%= attribute.type %> :<%= attribute.name %><%= attribute.inject_options %>
6
<% end -%>
7
<% if options[:timestamps] %>
8
      t.timestamps
9
<% end -%>
10
    end
11
<% attributes_with_index.each do |attribute| -%>
12
    add_index :<%= table_name %>, :<%= attribute.index_name %><%= attribute.inject_index_options %>
13
<% end -%>
14
  end
15
end

Also available in: Unified diff