multiinsert 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. data/.gitignore +15 -0
  2. data/Gemfile +49 -0
  3. data/Gemfile.lock +182 -0
  4. data/README.md +4 -0
  5. data/README.rdoc +261 -0
  6. data/Rakefile +7 -0
  7. data/app/assets/images/Dashboard.jpg +0 -0
  8. data/app/assets/images/black.png +0 -0
  9. data/app/assets/images/giff.gif +0 -0
  10. data/app/assets/images/rails.png +0 -0
  11. data/app/assets/images/sprites.png +0 -0
  12. data/app/assets/javascripts/application.js +15 -0
  13. data/app/assets/javascripts/effects.js +9 -0
  14. data/app/assets/javascripts/evaluations.js.coffee +3 -0
  15. data/app/assets/javascripts/tabs_old.js +42 -0
  16. data/app/assets/stylesheets/application.css +13 -0
  17. data/app/assets/stylesheets/evaluations.css.scss +3 -0
  18. data/app/assets/stylesheets/style.css +477 -0
  19. data/app/assets/stylesheets/tab.css +190 -0
  20. data/app/controllers/application_controller.rb +15 -0
  21. data/app/controllers/employee_heirarchies_controller.rb +2 -0
  22. data/app/controllers/evaluations_controller.rb +80 -0
  23. data/app/controllers/sessions_controller.rb +48 -0
  24. data/app/helpers/application_helper.rb +2 -0
  25. data/app/helpers/employee_heirarchies_helper.rb +2 -0
  26. data/app/helpers/evaluations_helper.rb +2 -0
  27. data/app/mailers/.gitkeep +0 -0
  28. data/app/models/.gitkeep +0 -0
  29. data/app/models/employee.rb +5 -0
  30. data/app/models/employee_heirarchy.rb +6 -0
  31. data/app/models/evaluation.rb +6 -0
  32. data/app/models/evaluation_interval.rb +5 -0
  33. data/app/models/evaluation_period.rb +6 -0
  34. data/app/models/interval_format.rb +4 -0
  35. data/app/models/role.rb +7 -0
  36. data/app/models/score.rb +3 -0
  37. data/app/models/team.rb +10 -0
  38. data/app/models/team.rb~ +10 -0
  39. data/app/models/team_value.rb +5 -0
  40. data/app/models/user.rb +49 -0
  41. data/app/models/user.rb~ +11 -0
  42. data/app/models/user_history.rb +6 -0
  43. data/app/models/user_role.rb +5 -0
  44. data/app/models/value.rb +8 -0
  45. data/app/models/value.rb~ +7 -0
  46. data/app/views/devise/confirmations/new.html.erb +12 -0
  47. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  48. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  49. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  50. data/app/views/devise/passwords/edit.html.erb +16 -0
  51. data/app/views/devise/passwords/new.html.erb +12 -0
  52. data/app/views/devise/registrations/edit.html.erb +29 -0
  53. data/app/views/devise/registrations/new.html.erb +36 -0
  54. data/app/views/devise/sessions/new.html.erb +17 -0
  55. data/app/views/devise/shared/_links.erb +25 -0
  56. data/app/views/devise/unlocks/new.html.erb +12 -0
  57. data/app/views/evaluations/edit.html.erb +21 -0
  58. data/app/views/evaluations/first.html.erb +5 -0
  59. data/app/views/evaluations/index.html.erb +7 -0
  60. data/app/views/evaluations/new.html.erb +15 -0
  61. data/app/views/evaluations/show.html.erb +21 -0
  62. data/app/views/layouts/application.html.erb +87 -0
  63. data/config.ru +4 -0
  64. data/config/application.rb +63 -0
  65. data/config/boot.rb +6 -0
  66. data/config/database.yml +31 -0
  67. data/config/database.yml~ +31 -0
  68. data/config/environment.rb +5 -0
  69. data/config/environments/development.rb +37 -0
  70. data/config/environments/production.rb +67 -0
  71. data/config/environments/test.rb +37 -0
  72. data/config/initializers/backtrace_silencers.rb +7 -0
  73. data/config/initializers/devise.rb +240 -0
  74. data/config/initializers/inflections.rb +15 -0
  75. data/config/initializers/mime_types.rb +5 -0
  76. data/config/initializers/rails_admin.rb +116 -0
  77. data/config/initializers/secret_token.rb +7 -0
  78. data/config/initializers/session_store.rb +8 -0
  79. data/config/initializers/wrap_parameters.rb +14 -0
  80. data/config/locales/devise.en.yml +59 -0
  81. data/config/locales/en.yml +5 -0
  82. data/config/routes.rb +70 -0
  83. data/db/migrate/20130220053413_devise_create_users.rb +52 -0
  84. data/db/migrate/20130220055237_create_rails_admin_histories_table.rb +18 -0
  85. data/db/migrate/20130220060116_create_values.rb +9 -0
  86. data/db/migrate/20130220060116_create_values.rb~ +8 -0
  87. data/db/migrate/20130220060206_create_scores.rb +9 -0
  88. data/db/migrate/20130220060258_create_teams.rb +8 -0
  89. data/db/migrate/20130220060347_create_team_values.rb +9 -0
  90. data/db/migrate/20130220060347_create_team_values.rb~ +10 -0
  91. data/db/migrate/20130220060427_create_roles.rb +8 -0
  92. data/db/migrate/20130220060605_create_evaluation_periods.rb +10 -0
  93. data/db/migrate/20130220060807_create_evaluation_intervals.rb +9 -0
  94. data/db/migrate/20130220060902_create_interval_formats.rb +9 -0
  95. data/db/migrate/20130220061022_create_user_histories.rb +13 -0
  96. data/db/migrate/20130220061242_create_evaluations.rb +16 -0
  97. data/db/migrate/20130305063738_create_user_roles.rb +9 -0
  98. data/db/migrate/20130305091849_create_employees.rb +12 -0
  99. data/db/migrate/20130305144125_create_employee_heirarchies.rb +13 -0
  100. data/db/migrate/20130305150244_add_foreign_keys_to_employee_heirarchies.rb +6 -0
  101. data/db/migrate/20130307035139_addmanagerid_to_evaluations.rb +9 -0
  102. data/db/schema.rb +175 -0
  103. data/db/seeds.rb +7 -0
  104. data/doc/README_FOR_APP +2 -0
  105. data/lib/assets/.gitkeep +0 -0
  106. data/lib/tasks/.gitkeep +0 -0
  107. data/log/.gitkeep +0 -0
  108. data/public/404.html +26 -0
  109. data/public/422.html +26 -0
  110. data/public/500.html +25 -0
  111. data/public/favicon.ico +0 -0
  112. data/public/robots.txt +5 -0
  113. data/script/rails +6 -0
  114. data/test/fixtures/.gitkeep +0 -0
  115. data/test/fixtures/evaluation_intervals.yml +9 -0
  116. data/test/fixtures/evaluation_periods.yml +11 -0
  117. data/test/fixtures/evaluations.yml +19 -0
  118. data/test/fixtures/interval_formats.yml +7 -0
  119. data/test/fixtures/roles.yml +7 -0
  120. data/test/fixtures/scores.yml +9 -0
  121. data/test/fixtures/team_values.yml +9 -0
  122. data/test/fixtures/teams.yml +9 -0
  123. data/test/fixtures/user_histories.yml +15 -0
  124. data/test/fixtures/users.yml +11 -0
  125. data/test/fixtures/values.yml +7 -0
  126. data/test/functional/.gitkeep +0 -0
  127. data/test/functional/employee_heirarchies_controller_test.rb +7 -0
  128. data/test/functional/evaluations_controller_test.rb +7 -0
  129. data/test/integration/.gitkeep +0 -0
  130. data/test/performance/browsing_test.rb +12 -0
  131. data/test/test_helper.rb +13 -0
  132. data/test/unit/.gitkeep +0 -0
  133. data/test/unit/evaluation_interval_test.rb +7 -0
  134. data/test/unit/evaluation_period_test.rb +7 -0
  135. data/test/unit/evaluation_test.rb +7 -0
  136. data/test/unit/helpers/employee_heirarchies_helper_test.rb +4 -0
  137. data/test/unit/helpers/evaluations_helper_test.rb +4 -0
  138. data/test/unit/interval_format_test.rb +7 -0
  139. data/test/unit/role_test.rb +7 -0
  140. data/test/unit/score_test.rb +7 -0
  141. data/test/unit/team_test.rb +7 -0
  142. data/test/unit/team_value_test.rb +7 -0
  143. data/test/unit/user_history_test.rb +7 -0
  144. data/test/unit/user_test.rb +7 -0
  145. data/test/unit/value_test.rb +7 -0
  146. data/vendor/assets/javascripts/.gitkeep +0 -0
  147. data/vendor/assets/stylesheets/.gitkeep +0 -0
  148. data/vendor/plugins/.gitkeep +0 -0
  149. metadata +258 -0
@@ -0,0 +1,190 @@
1
+
2
+ #wrapper{
3
+ width:80%;
4
+ margin: 29px 0 0 8px;
5
+ font:Arial, Helvetica, sans-serif;
6
+ font-size:14px;
7
+ }
8
+ #wrapper h1{
9
+ color:#FFF;
10
+ text-align:center;
11
+ margin-bottom:20px;
12
+ font:Arial, Helvetica, sans-serif;
13
+ font-size:14px;
14
+ }
15
+ .tab_head{
16
+ background: #f8f8f8; /* Old browsers */
17
+ background: -moz-linear-gradient(top, #f8f8f8 8%, #ededed 75%); /* FF3.6+ */
18
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(8%,#f8f8f8), color-stop(75%,#ededed)); /* Chrome,Safari4+ */
19
+ background: -webkit-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Chrome10+,Safari5.1+ */
20
+ background: -o-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Opera 11.10+ */
21
+ background: -ms-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* IE10+ */
22
+ background: linear-gradient(to bottom, #f8f8f8 8%,#ededed 75%); /* W3C */
23
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
24
+ height:15px;
25
+ padding:10px;
26
+ border:solid 1px #dfdfdf;
27
+ text-shadow: 2px 2px 2px #FFFFFF;
28
+ filter: dropshadow(color=#FFFFFF, offx=3, offy=1);
29
+ color:#666666;
30
+ font-weight:bold;
31
+ }
32
+ .tab_head_arrow {
33
+ background-image: url(../assets/sprites.png);
34
+ width: 13px;
35
+ height: 16px;
36
+ float: right;
37
+ background-position: -534px -61px;
38
+ margin-top: 3px;
39
+ }
40
+ .tab_head_arrow:hover {
41
+ background-image: url(../assets/sprites.png);
42
+ background-position: -548px -61px;
43
+ cursor:pointer;
44
+ }
45
+
46
+ #wrapper a{
47
+ display:block;
48
+ font-size:1.2em;
49
+ padding-top:20px;
50
+ color:#FFF;
51
+ text-decoration:none;
52
+ text-align:center;
53
+ }
54
+
55
+ #tabContainer {
56
+ padding:15px;
57
+ padding-bottom: 20px;
58
+ background-color:#fcfcfc;
59
+ -moz-border-radius: 4px;
60
+ border-radius: 4px;
61
+ border:solid 1px #dfdfdf;
62
+ border-top:none;
63
+ }
64
+
65
+ #tabs{
66
+ height:30px;
67
+ overflow:hidden;
68
+ margin-top:10px;
69
+ }
70
+
71
+ #tabs > ul{
72
+ font: 1em;
73
+ list-style:none;
74
+
75
+ }
76
+
77
+ #tabs > ul > li{
78
+ margin:0 2px 0 0;
79
+ padding:7px 10px;
80
+ display:block;
81
+ float:left;
82
+ color:#FFF;
83
+ -webkit-user-select: none;
84
+ -moz-user-select: none;
85
+ user-select: none;
86
+ -moz-border-radius-topleft: 4px;
87
+ -moz-border-radius-topright: 4px;
88
+ -moz-border-radius-bottomright: 0px;
89
+ -moz-border-radius-bottomleft: 0px;
90
+ border-top-left-radius:4px;
91
+ border-top-right-radius: 4px;
92
+ border-bottom-right-radius: 0px;
93
+ border-bottom-left-radius: 0px;
94
+ background: #f763a1; /* Old browsers */
95
+ background: -moz-linear-gradient(top, #f763a1 0%, #e32981 87%); /* FF3.6+ */
96
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f763a1), color-stop(87%,#e32981)); /* Chrome,Safari4+ */
97
+ background: -webkit-linear-gradient(top, #f763a1 0%,#e32981 87%); /* Chrome10+,Safari5.1+ */
98
+ background: -o-linear-gradient(top, #f763a1 0%,#e32981 87%); /* Opera 11.10+ */
99
+ background: -ms-linear-gradient(top, #f763a1 0%,#e32981 87%); /* IE10+ */
100
+ background: linear-gradient(to bottom, #f763a1 0%,#e32981 87%); /* W3C */
101
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f763a1', endColorstr='#e32981',GradientType=0 ); /* IE6-9 */
102
+ font-size:12px;
103
+ }
104
+
105
+ #tabs > ul > li:hover{
106
+ background: #FFFFFF; /* old browsers */
107
+ background: -moz-linear-gradient(top, #FFFFFF 0%, #F3F3F3 10%, #F3F3F3 50%, #FFFFFF 100%); /* firefox */
108
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(10%,#F3F3F3), color-stop(50%,#F3F3F3), color-stop(100%,#FFFFFF)); /* webkit */
109
+ cursor:pointer;
110
+ color: #333;
111
+ font-size:12px;
112
+ }
113
+
114
+ #tabs > ul > li.tabActiveHeader{
115
+ background: #FFFFFF; /* old browsers */
116
+ background: -moz-linear-gradient(top, #f8f8f8 8%, #ededed 75%); /* FF3.6+ */
117
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(8%,#f8f8f8), color-stop(75%,#ededed)); /* Chrome,Safari4+ */
118
+ background: -webkit-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Chrome10+,Safari5.1+ */
119
+ background: -o-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Opera 11.10+ */
120
+ background: -ms-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* IE10+ */
121
+ background: linear-gradient(to bottom, #f8f8f8 8%,#ededed 75%); /* W3C */
122
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
123
+ cursor:pointer;
124
+ color: #333;
125
+ border:solid 1px #dfdfdf;
126
+ font-size:12px;
127
+ }
128
+
129
+ #tabscontent {
130
+ -moz-border-radius-topleft: 0px;
131
+ -moz-border-radius-topright: 4px;
132
+ -moz-border-radius-bottomright: 4px;
133
+ -moz-border-radius-bottomleft: 4px;
134
+ border-top-left-radius: 0px;
135
+ border-top-right-radius: 4px;
136
+ border-bottom-right-radius: 4px;
137
+ border-bottom-left-radius: 4px;
138
+ padding:10px 10px 25px;
139
+ margin:0;
140
+ color:#333;
141
+ border:solid 1px #dfdfdf;
142
+ background-color:#f8f8f8;
143
+ border-top:none;
144
+ height:auto;
145
+ }
146
+ table.tab_table{
147
+ font-family:Arial, Helvetica, sans-serif;
148
+ font-size:12px;
149
+ border:solid 1px #dfdfdf;
150
+ border-collapse:collapse;
151
+ }
152
+ table.tab_table tr{
153
+ border:solid 1px #dfdfdf;
154
+ }
155
+ table.tab_table tr:hover {
156
+ background-color: #EFEFEF;
157
+ }
158
+ table.tab_table td {
159
+ border:solid 1px #dfdfdf;
160
+ text-align:center;
161
+ }
162
+ table.tab_table th {background: #f8f8f8; /* Old browsers */
163
+ background: -moz-linear-gradient(top, #f8f8f8 8%, #ededed 75%); /* FF3.6+ */
164
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(8%,#f8f8f8), color-stop(75%,#ededed)); /* Chrome,Safari4+ */
165
+ background: -webkit-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Chrome10+,Safari5.1+ */
166
+ background: -o-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* Opera 11.10+ */
167
+ background: -ms-linear-gradient(top, #f8f8f8 8%,#ededed 75%); /* IE10+ */
168
+ background: linear-gradient(to bottom, #f8f8f8 8%,#ededed 75%); /* W3C */
169
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
170
+ border:solid 1px #dfdfdf;
171
+ }
172
+ .point_text_box {
173
+ width:40px;
174
+ }
175
+ .numb {
176
+ background-color:#FFFFFF;
177
+ padding:2px;
178
+ border:solid 1px #dfdfdf;
179
+ padding-left:5px;
180
+ padding-right:5px;
181
+ }
182
+ .value_bold {
183
+ padding:10px;
184
+ }
185
+ .over_due {
186
+ background-color:#FF0000;
187
+ width:100px;
188
+ color:#FFFFFF;
189
+ padding:2px;
190
+ }
@@ -0,0 +1,15 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+
4
+ def set_current_user
5
+ User.current = current_user
6
+ end
7
+
8
+ def after_sign_in_path_for(resource)
9
+ new_evaluation_path
10
+ end
11
+
12
+ def after_sign_out_path_for(resource)
13
+ root_path
14
+ end
15
+ end
@@ -0,0 +1,2 @@
1
+ class EmployeeHeirarchiesController < ApplicationController
2
+ end
@@ -0,0 +1,80 @@
1
+ class EvaluationsController < ApplicationController
2
+ #~ before_filter :values, :only => [:show, :edit, :update, :destroy]
3
+ def index
4
+ @evaluations=Evaluation.all
5
+ end
6
+
7
+ def new
8
+ @team=TeamValue.where("team_id= ?",1)
9
+ @team.each do |a|
10
+ @tea = a.value.description
11
+ end
12
+ @values = Value.all
13
+ @managers = EmployeeHeirarchy.employees(current_user.id).collect{|employee| User.find(employee.manager_id)}
14
+ @evaluation = Evaluation.new
15
+ end
16
+
17
+ def save_evaluations(params)
18
+
19
+ evaluation_records = params.select{|param| param.match(/^evaluation/)}
20
+
21
+ value_ids = evaluation_records.keys.collect{|rec| rec.split("-")[2]}.uniq!
22
+ @eval = Evaluation.new
23
+ @saved = false
24
+
25
+ value_ids.each do |item|
26
+
27
+ evaluation_records.each do |evaluation|
28
+ if evaluation.first.split("-")[2] == item
29
+ @eval[evaluation.first.split("-")[1]] = evaluation.last.split.join
30
+ else
31
+ break if !@saved
32
+ end
33
+ end
34
+ saved = @eval.save
35
+ @eval = Evaluation.new
36
+ @saved = true
37
+ saved
38
+ end
39
+
40
+ end
41
+
42
+ def create
43
+
44
+ if save_evaluations(params)
45
+ redirect_to :action => :edit
46
+ else
47
+ render :action => :new
48
+ end
49
+ end
50
+
51
+ def show
52
+ @evaluations = Evaluation.where(:id => params[:id])
53
+ end
54
+
55
+ def edit
56
+ @evaluations = Evaluation.where(:user_id => current_user.id)
57
+ end
58
+
59
+ def update
60
+ @evaluation = Evaluation.find(params[:id])
61
+ if @evaluation.update_attributes(params[:evaluation])
62
+ render :action => :show
63
+ else
64
+ render :action => :edit
65
+ end
66
+ end
67
+
68
+ def destroy
69
+ @evaluation = Evaluation.find(params[:id])
70
+ @evaluation.destroy
71
+ end
72
+
73
+ def first
74
+ end
75
+
76
+ #~ def values
77
+ #~ @value=Evaluation.find(params[:id]).value.description
78
+ #~ end
79
+
80
+ end
@@ -0,0 +1,48 @@
1
+ class SessionsController < Devise::SessionsController
2
+ prepend_before_filter :require_no_authentication, :only => [ :new, :create ]
3
+ prepend_before_filter :allow_params_authentication!, :only => :create
4
+ prepend_before_filter { request.env["devise.skip_timeout"] = true }
5
+
6
+ # GET /resource/sign_in
7
+ def new
8
+ self.resource = build_resource(nil, :unsafe => true)
9
+ clean_up_passwords(resource)
10
+ respond_with(resource, serialize_options(resource))
11
+ end
12
+
13
+ # POST /resource/sign_in
14
+ def create
15
+ self.resource = warden.authenticate!(auth_options)
16
+ set_flash_message(:notice, :signed_in) if is_navigational_format?
17
+ sign_in(resource_name, resource)
18
+ respond_with resource, :location => after_sign_in_path_for(resource)
19
+ end
20
+
21
+ # DELETE /resource/sign_out
22
+ def destroy
23
+ redirect_path = after_sign_out_path_for(resource_name)
24
+ signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
25
+ set_flash_message :notice, :signed_out if signed_out && is_navigational_format?
26
+
27
+ # We actually need to hardcode this as Rails default responder doesn't
28
+ # support returning empty response on GET request
29
+ respond_to do |format|
30
+ format.all { head :no_content }
31
+ format.any(*navigational_formats) { redirect_to redirect_path }
32
+ end
33
+ end
34
+
35
+ protected
36
+
37
+ def serialize_options(resource)
38
+ methods = resource_class.authentication_keys.dup
39
+ methods = methods.keys if methods.is_a?(Hash)
40
+ methods << :password if resource.respond_to?(:password)
41
+ { :methods => methods, :only => [:password] }
42
+ end
43
+
44
+ def auth_options
45
+ { :scope => resource_name, :recall => "#{controller_path}#new" }
46
+ end
47
+ end
48
+
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module EmployeeHeirarchiesHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module EvaluationsHelper
2
+ end
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ class Employee < ActiveRecord::Base
2
+ belongs_to :user
3
+ belongs_to :manager, :class_name => "User", :foreign_key => "manager_id"
4
+ # attr_accessible :title, :body
5
+ end
@@ -0,0 +1,6 @@
1
+ class EmployeeHeirarchy < ActiveRecord::Base
2
+
3
+ scope :employees, lambda {|employee_id| {:conditions => ['employee_id = ?',employee_id] }}
4
+ scope :managers, lambda {|manager_id| {:conditions => ['manager_id = ?',manager_id] }}
5
+
6
+ end
@@ -0,0 +1,6 @@
1
+ class Evaluation < ActiveRecord::Base
2
+ attr_accessible :evaluation_period_id, :manager_comments, :manager_points, :self_comments, :self_points, :user_id, :value_id,:final_comments, :final_points
3
+ belongs_to :user
4
+ belongs_to :value, :autosave => true
5
+ belongs_to :evaluation_periods
6
+ end
@@ -0,0 +1,5 @@
1
+ class EvaluationInterval < ActiveRecord::Base
2
+ attr_accessible :interval_format_id, :team_id
3
+ belongs_to :interval_format
4
+ belongs_to :team
5
+ end
@@ -0,0 +1,6 @@
1
+ class EvaluationPeriod < ActiveRecord::Base
2
+ attr_accessible :eval_end_date, :eval_start_date, :team_id
3
+ belongs_to :team
4
+ has_many :evaluations
5
+ has_many :user_histories
6
+ end
@@ -0,0 +1,4 @@
1
+ class IntervalFormat < ActiveRecord::Base
2
+ attr_accessible :frequency
3
+ has_many :evaluation_intervals
4
+ end
@@ -0,0 +1,7 @@
1
+ class Role < ActiveRecord::Base
2
+ attr_accessible :role_description
3
+ #~ has_many :users
4
+ has_many :user_roles
5
+ has_many :users, :through => :user_roles
6
+
7
+ end
@@ -0,0 +1,3 @@
1
+ class Score < ActiveRecord::Base
2
+ attr_accessible :description, :level
3
+ end
@@ -0,0 +1,10 @@
1
+ class Team < ActiveRecord::Base
2
+ attr_accessible :designation, :name
3
+ has_many :team_values
4
+ has_many :values, :through => :team_values
5
+ has_many :users
6
+ has_many :evaluation_periods
7
+ has_many :evaluation_intervals
8
+ has_many :user_histories
9
+ #~ has_many :values
10
+ end
@@ -0,0 +1,10 @@
1
+ class Team < ActiveRecord::Base
2
+ attr_accessible :designation, :name
3
+ has_many :team_values
4
+ has_many :values, :through => :team_values
5
+ has_many :users
6
+ has_many :evaluation_periods
7
+ has_many :evaluation_intervals
8
+ has_many :user_histories
9
+ #~ has_many :values
10
+ end
@@ -0,0 +1,5 @@
1
+ class TeamValue < ActiveRecord::Base
2
+ attr_accessible :team_id, :value_id
3
+ belongs_to :value
4
+ belongs_to :team
5
+ end