annotate .svn/pristine/c2/c24972b7baf956be6b305bb847cc9c6948751072.svn-base @ 1524:82fac3dcf466 redmine-2.5-integration

Fix failure to interpret Javascript when autocompleting members for project
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 11 Sep 2014 10:24:38 +0100
parents dffacf8a6908
children
rev   line source
Chris@1517 1 module ObjectHelpers
Chris@1517 2 def User.generate!(attributes={})
Chris@1517 3 @generated_user_login ||= 'user0'
Chris@1517 4 @generated_user_login.succ!
Chris@1517 5 user = User.new(attributes)
Chris@1517 6 user.login = @generated_user_login.dup if user.login.blank?
Chris@1517 7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
Chris@1517 8 user.firstname = "Bob" if user.firstname.blank?
Chris@1517 9 user.lastname = "Doe" if user.lastname.blank?
Chris@1517 10 yield user if block_given?
Chris@1517 11 user.save!
Chris@1517 12 user
Chris@1517 13 end
Chris@1517 14
Chris@1517 15 def User.add_to_project(user, project, roles=nil)
Chris@1517 16 roles = Role.find(1) if roles.nil?
Chris@1517 17 roles = [roles] unless roles.is_a?(Array)
Chris@1517 18 Member.create!(:principal => user, :project => project, :roles => roles)
Chris@1517 19 end
Chris@1517 20
Chris@1517 21 def Group.generate!(attributes={})
Chris@1517 22 @generated_group_name ||= 'Group 0'
Chris@1517 23 @generated_group_name.succ!
Chris@1517 24 group = Group.new(attributes)
Chris@1517 25 group.name = @generated_group_name.dup if group.name.blank?
Chris@1517 26 yield group if block_given?
Chris@1517 27 group.save!
Chris@1517 28 group
Chris@1517 29 end
Chris@1517 30
Chris@1517 31 def Project.generate!(attributes={})
Chris@1517 32 @generated_project_identifier ||= 'project-0000'
Chris@1517 33 @generated_project_identifier.succ!
Chris@1517 34 project = Project.new(attributes)
Chris@1517 35 project.name = @generated_project_identifier.dup if project.name.blank?
Chris@1517 36 project.identifier = @generated_project_identifier.dup if project.identifier.blank?
Chris@1517 37 yield project if block_given?
Chris@1517 38 project.save!
Chris@1517 39 project
Chris@1517 40 end
Chris@1517 41
Chris@1517 42 def Project.generate_with_parent!(parent, attributes={})
Chris@1517 43 project = Project.generate!(attributes)
Chris@1517 44 project.set_parent!(parent)
Chris@1517 45 project
Chris@1517 46 end
Chris@1517 47
Chris@1517 48 def Tracker.generate!(attributes={})
Chris@1517 49 @generated_tracker_name ||= 'Tracker 0'
Chris@1517 50 @generated_tracker_name.succ!
Chris@1517 51 tracker = Tracker.new(attributes)
Chris@1517 52 tracker.name = @generated_tracker_name.dup if tracker.name.blank?
Chris@1517 53 yield tracker if block_given?
Chris@1517 54 tracker.save!
Chris@1517 55 tracker
Chris@1517 56 end
Chris@1517 57
Chris@1517 58 def Role.generate!(attributes={})
Chris@1517 59 @generated_role_name ||= 'Role 0'
Chris@1517 60 @generated_role_name.succ!
Chris@1517 61 role = Role.new(attributes)
Chris@1517 62 role.name = @generated_role_name.dup if role.name.blank?
Chris@1517 63 yield role if block_given?
Chris@1517 64 role.save!
Chris@1517 65 role
Chris@1517 66 end
Chris@1517 67
Chris@1517 68 # Generates an unsaved Issue
Chris@1517 69 def Issue.generate(attributes={})
Chris@1517 70 issue = Issue.new(attributes)
Chris@1517 71 issue.project ||= Project.find(1)
Chris@1517 72 issue.tracker ||= issue.project.trackers.first
Chris@1517 73 issue.subject = 'Generated' if issue.subject.blank?
Chris@1517 74 issue.author ||= User.find(2)
Chris@1517 75 yield issue if block_given?
Chris@1517 76 issue
Chris@1517 77 end
Chris@1517 78
Chris@1517 79 # Generates a saved Issue
Chris@1517 80 def Issue.generate!(attributes={}, &block)
Chris@1517 81 issue = Issue.generate(attributes, &block)
Chris@1517 82 issue.save!
Chris@1517 83 issue
Chris@1517 84 end
Chris@1517 85
Chris@1517 86 # Generates an issue with 2 children and a grandchild
Chris@1517 87 def Issue.generate_with_descendants!(attributes={})
Chris@1517 88 issue = Issue.generate!(attributes)
Chris@1517 89 child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id)
Chris@1517 90 Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id)
Chris@1517 91 Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id)
Chris@1517 92 issue.reload
Chris@1517 93 end
Chris@1517 94
Chris@1517 95 def Journal.generate!(attributes={})
Chris@1517 96 journal = Journal.new(attributes)
Chris@1517 97 journal.user ||= User.first
Chris@1517 98 journal.journalized ||= Issue.first
Chris@1517 99 yield journal if block_given?
Chris@1517 100 journal.save!
Chris@1517 101 journal
Chris@1517 102 end
Chris@1517 103
Chris@1517 104 def Version.generate!(attributes={})
Chris@1517 105 @generated_version_name ||= 'Version 0'
Chris@1517 106 @generated_version_name.succ!
Chris@1517 107 version = Version.new(attributes)
Chris@1517 108 version.name = @generated_version_name.dup if version.name.blank?
Chris@1517 109 yield version if block_given?
Chris@1517 110 version.save!
Chris@1517 111 version
Chris@1517 112 end
Chris@1517 113
Chris@1517 114 def TimeEntry.generate!(attributes={})
Chris@1517 115 entry = TimeEntry.new(attributes)
Chris@1517 116 entry.user ||= User.find(2)
Chris@1517 117 entry.issue ||= Issue.find(1) unless entry.project
Chris@1517 118 entry.project ||= entry.issue.project
Chris@1517 119 entry.activity ||= TimeEntryActivity.first
Chris@1517 120 entry.spent_on ||= Date.today
Chris@1517 121 entry.hours ||= 1.0
Chris@1517 122 entry.save!
Chris@1517 123 entry
Chris@1517 124 end
Chris@1517 125
Chris@1517 126 def AuthSource.generate!(attributes={})
Chris@1517 127 @generated_auth_source_name ||= 'Auth 0'
Chris@1517 128 @generated_auth_source_name.succ!
Chris@1517 129 source = AuthSource.new(attributes)
Chris@1517 130 source.name = @generated_auth_source_name.dup if source.name.blank?
Chris@1517 131 yield source if block_given?
Chris@1517 132 source.save!
Chris@1517 133 source
Chris@1517 134 end
Chris@1517 135
Chris@1517 136 def Board.generate!(attributes={})
Chris@1517 137 @generated_board_name ||= 'Forum 0'
Chris@1517 138 @generated_board_name.succ!
Chris@1517 139 board = Board.new(attributes)
Chris@1517 140 board.name = @generated_board_name.dup if board.name.blank?
Chris@1517 141 board.description = @generated_board_name.dup if board.description.blank?
Chris@1517 142 yield board if block_given?
Chris@1517 143 board.save!
Chris@1517 144 board
Chris@1517 145 end
Chris@1517 146
Chris@1517 147 def Attachment.generate!(attributes={})
Chris@1517 148 @generated_filename ||= 'testfile0'
Chris@1517 149 @generated_filename.succ!
Chris@1517 150 attributes = attributes.dup
Chris@1517 151 attachment = Attachment.new(attributes)
Chris@1517 152 attachment.container ||= Issue.find(1)
Chris@1517 153 attachment.author ||= User.find(2)
Chris@1517 154 attachment.filename = @generated_filename.dup if attachment.filename.blank?
Chris@1517 155 attachment.save!
Chris@1517 156 attachment
Chris@1517 157 end
Chris@1517 158
Chris@1517 159 def CustomField.generate!(attributes={})
Chris@1517 160 @generated_custom_field_name ||= 'Custom field 0'
Chris@1517 161 @generated_custom_field_name.succ!
Chris@1517 162 field = new(attributes)
Chris@1517 163 field.name = @generated_custom_field_name.dup if field.name.blank?
Chris@1517 164 field.field_format = 'string' if field.field_format.blank?
Chris@1517 165 yield field if block_given?
Chris@1517 166 field.save!
Chris@1517 167 field
Chris@1517 168 end
Chris@1517 169
Chris@1517 170 def Changeset.generate!(attributes={})
Chris@1517 171 @generated_changeset_rev ||= '123456'
Chris@1517 172 @generated_changeset_rev.succ!
Chris@1517 173 changeset = new(attributes)
Chris@1517 174 changeset.repository ||= Project.find(1).repository
Chris@1517 175 changeset.revision ||= @generated_changeset_rev
Chris@1517 176 changeset.committed_on ||= Time.now
Chris@1517 177 yield changeset if block_given?
Chris@1517 178 changeset.save!
Chris@1517 179 changeset
Chris@1517 180 end
Chris@1517 181 end
Chris@1517 182
Chris@1517 183 module IssueObjectHelpers
Chris@1517 184 def close!
Chris@1517 185 self.status = IssueStatus.where(:is_closed => true).first
Chris@1517 186 save!
Chris@1517 187 end
Chris@1517 188
Chris@1517 189 def generate_child!(attributes={})
Chris@1517 190 Issue.generate!(attributes.merge(:parent_issue_id => self.id))
Chris@1517 191 end
Chris@1517 192 end
Chris@1517 193
Chris@1517 194 Issue.send :include, IssueObjectHelpers