##// END OF EJS Templates
Methods moved....
Jean-Philippe Lang -
r9339:ccf37f59a93c
parent child
Show More
@@ -1,102 +1,102
1 1 module ObjectHelpers
2 def User.add_to_project(user, project, roles)
3 roles = [roles] unless roles.is_a?(Array)
4 Member.create!(:principal => user, :project => project, :roles => roles)
5 end
6
7 2 def User.generate!(attributes={})
8 3 @generated_user_login ||= 'user0'
9 4 @generated_user_login.succ!
10 5 user = User.new(attributes)
11 6 user.login = @generated_user_login if user.login.blank?
12 7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
13 8 user.firstname = "Bob" if user.firstname.blank?
14 9 user.lastname = "Doe" if user.lastname.blank?
15 10 yield user if block_given?
16 11 user.save!
17 12 user
18 13 end
19 14
15 def User.add_to_project(user, project, roles)
16 roles = [roles] unless roles.is_a?(Array)
17 Member.create!(:principal => user, :project => project, :roles => roles)
18 end
19
20 20 def Group.generate!(attributes={})
21 21 @generated_group_name ||= 'Group 0'
22 22 @generated_group_name.succ!
23 23 group = Group.new(attributes)
24 24 group.lastname = @generated_group_name if group.lastname.blank?
25 25 yield group if block_given?
26 26 group.save!
27 27 group
28 28 end
29 29
30 30 def Project.generate!(attributes={})
31 31 @generated_project_identifier ||= 'project-0000'
32 32 @generated_project_identifier.succ!
33 33 project = Project.new(attributes)
34 34 project.name = @generated_project_identifier if project.name.blank?
35 35 project.identifier = @generated_project_identifier if project.identifier.blank?
36 36 yield project if block_given?
37 37 project.save!
38 38 project
39 39 end
40 40
41 41 def Tracker.generate!(attributes={})
42 42 @generated_tracker_name ||= 'Tracker 0'
43 43 @generated_tracker_name.succ!
44 44 tracker = Tracker.new(attributes)
45 45 tracker.name = @generated_tracker_name if tracker.name.blank?
46 46 yield tracker if block_given?
47 47 tracker.save!
48 48 tracker
49 49 end
50 50
51 51 def Role.generate!(attributes={})
52 52 @generated_role_name ||= 'Role 0'
53 53 @generated_role_name.succ!
54 54 role = Role.new(attributes)
55 55 role.name = @generated_role_name if role.name.blank?
56 56 yield role if block_given?
57 57 role.save!
58 58 role
59 59 end
60 60
61 61 def Issue.generate!(attributes={})
62 62 issue = Issue.new(attributes)
63 63 issue.subject = 'Generated' if issue.subject.blank?
64 64 issue.author ||= User.find(2)
65 65 yield issue if block_given?
66 66 issue.save!
67 67 issue
68 68 end
69 69
70 # Generate an issue for a project, using its trackers
71 def Issue.generate_for_project!(project, attributes={})
72 issue = Issue.new(attributes) do |issue|
73 issue.project = project
74 issue.tracker = project.trackers.first unless project.trackers.empty?
75 issue.subject = 'Generated' if issue.subject.blank?
76 issue.author ||= User.find(2)
77 yield issue if block_given?
78 end
79 issue.save!
80 issue
81 end
82
70 83 def Version.generate!(attributes={})
71 84 @generated_version_name ||= 'Version 0'
72 85 @generated_version_name.succ!
73 86 version = Version.new(attributes)
74 87 version.name = @generated_version_name if version.name.blank?
75 88 yield version if block_given?
76 89 version.save!
77 90 version
78 91 end
79 92
80 93 def AuthSource.generate!(attributes={})
81 94 @generated_auth_source_name ||= 'Auth 0'
82 95 @generated_auth_source_name.succ!
83 96 source = AuthSource.new(attributes)
84 97 source.name = @generated_auth_source_name if source.name.blank?
85 98 yield source if block_given?
86 99 source.save!
87 100 source
88 101 end
89
90 # Generate an issue for a project, using it's trackers
91 def Issue.generate_for_project!(project, attributes={})
92 issue = Issue.new(attributes) do |issue|
93 issue.project = project
94 issue.tracker = project.trackers.first unless project.trackers.empty?
95 issue.subject = 'Generated' if issue.subject.blank?
96 issue.author ||= User.find(2)
97 yield issue if block_given?
98 end
99 issue.save!
100 issue
101 end
102 102 end
General Comments 0
You need to be logged in to leave comments. Login now