next_sgad 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +34 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/config/next_sgad_manifest.js +2 -0
  6. data/app/assets/javascripts/next_sgad/activities.js +2 -0
  7. data/app/assets/javascripts/next_sgad/application.js +108 -0
  8. data/app/assets/javascripts/next_sgad/assessments.js +2 -0
  9. data/app/assets/javascripts/next_sgad/attendances.js +2 -0
  10. data/app/assets/javascripts/next_sgad/configurations.js +2 -0
  11. data/app/assets/javascripts/next_sgad/departments.js +2 -0
  12. data/app/assets/javascripts/next_sgad/employee_goals.js +2 -0
  13. data/app/assets/javascripts/next_sgad/employees.js +2 -0
  14. data/app/assets/javascripts/next_sgad/functions.js +7 -0
  15. data/app/assets/javascripts/next_sgad/goals.js +2 -0
  16. data/app/assets/javascripts/next_sgad/jquery.orgchart.min.js +2 -0
  17. data/app/assets/javascripts/next_sgad/justifications.js +2 -0
  18. data/app/assets/javascripts/next_sgad/positions.js +2 -0
  19. data/app/assets/javascripts/next_sgad/results.js +2 -0
  20. data/app/assets/stylesheets/next_sgad/activities.css +4 -0
  21. data/app/assets/stylesheets/next_sgad/application.css +77 -0
  22. data/app/assets/stylesheets/next_sgad/assessments.css +4 -0
  23. data/app/assets/stylesheets/next_sgad/attendances.css +4 -0
  24. data/app/assets/stylesheets/next_sgad/configurations.css +4 -0
  25. data/app/assets/stylesheets/next_sgad/departments.css +4 -0
  26. data/app/assets/stylesheets/next_sgad/employee_goals.css +4 -0
  27. data/app/assets/stylesheets/next_sgad/employees.css +4 -0
  28. data/app/assets/stylesheets/next_sgad/functions.css +4 -0
  29. data/app/assets/stylesheets/next_sgad/goals.css +4 -0
  30. data/app/assets/stylesheets/next_sgad/jquery.orgchart.min.css +2 -0
  31. data/app/assets/stylesheets/next_sgad/justifications.css +4 -0
  32. data/app/assets/stylesheets/next_sgad/positions.css +4 -0
  33. data/app/assets/stylesheets/next_sgad/results.css +4 -0
  34. data/app/controllers/next_sgad/activities_controller.rb +63 -0
  35. data/app/controllers/next_sgad/application_controller.rb +5 -0
  36. data/app/controllers/next_sgad/assessments_controller.rb +62 -0
  37. data/app/controllers/next_sgad/attendances_controller.rb +62 -0
  38. data/app/controllers/next_sgad/configurations_controller.rb +62 -0
  39. data/app/controllers/next_sgad/departments_controller.rb +62 -0
  40. data/app/controllers/next_sgad/employee_goals_controller.rb +62 -0
  41. data/app/controllers/next_sgad/employees_controller.rb +62 -0
  42. data/app/controllers/next_sgad/functions_controller.rb +62 -0
  43. data/app/controllers/next_sgad/goals_controller.rb +62 -0
  44. data/app/controllers/next_sgad/justifications_controller.rb +62 -0
  45. data/app/controllers/next_sgad/positions_controller.rb +78 -0
  46. data/app/controllers/next_sgad/results_controller.rb +62 -0
  47. data/app/helpers/next_sgad/activities_helper.rb +4 -0
  48. data/app/helpers/next_sgad/application_helper.rb +4 -0
  49. data/app/helpers/next_sgad/assessments_helper.rb +4 -0
  50. data/app/helpers/next_sgad/attendances_helper.rb +4 -0
  51. data/app/helpers/next_sgad/configurations_helper.rb +4 -0
  52. data/app/helpers/next_sgad/departments_helper.rb +4 -0
  53. data/app/helpers/next_sgad/employee_goals_helper.rb +4 -0
  54. data/app/helpers/next_sgad/employees_helper.rb +4 -0
  55. data/app/helpers/next_sgad/functions_helper.rb +4 -0
  56. data/app/helpers/next_sgad/goals_helper.rb +4 -0
  57. data/app/helpers/next_sgad/justifications_helper.rb +4 -0
  58. data/app/helpers/next_sgad/positions_helper.rb +55 -0
  59. data/app/helpers/next_sgad/results_helper.rb +4 -0
  60. data/app/jobs/next_sgad/application_job.rb +4 -0
  61. data/app/mailers/next_sgad/application_mailer.rb +6 -0
  62. data/app/models/next_sgad/activity.rb +4 -0
  63. data/app/models/next_sgad/application_record.rb +18 -0
  64. data/app/models/next_sgad/assessment.rb +128 -0
  65. data/app/models/next_sgad/attendance.rb +70 -0
  66. data/app/models/next_sgad/configuration.rb +4 -0
  67. data/app/models/next_sgad/department.rb +20 -0
  68. data/app/models/next_sgad/employee.rb +28 -0
  69. data/app/models/next_sgad/employee_goal.rb +36 -0
  70. data/app/models/next_sgad/function.rb +8 -0
  71. data/app/models/next_sgad/goal.rb +37 -0
  72. data/app/models/next_sgad/justification.rb +47 -0
  73. data/app/models/next_sgad/position.rb +36 -0
  74. data/app/models/next_sgad/result.rb +27 -0
  75. data/app/models/next_sgad/setting.rb +13 -0
  76. data/app/views/layouts/next_sgad/application.html.erb +14 -0
  77. data/app/views/next_sgad/activities/_form.html.erb +27 -0
  78. data/app/views/next_sgad/activities/edit.html.erb +6 -0
  79. data/app/views/next_sgad/activities/index.html.erb +29 -0
  80. data/app/views/next_sgad/activities/new.html.erb +5 -0
  81. data/app/views/next_sgad/activities/show.html.erb +14 -0
  82. data/app/views/next_sgad/assessments/_form.html.erb +27 -0
  83. data/app/views/next_sgad/assessments/edit.html.erb +6 -0
  84. data/app/views/next_sgad/assessments/index.html.erb +29 -0
  85. data/app/views/next_sgad/assessments/new.html.erb +5 -0
  86. data/app/views/next_sgad/assessments/show.html.erb +14 -0
  87. data/app/views/next_sgad/attendances/_form.html.erb +37 -0
  88. data/app/views/next_sgad/attendances/edit.html.erb +6 -0
  89. data/app/views/next_sgad/attendances/index.html.erb +33 -0
  90. data/app/views/next_sgad/attendances/new.html.erb +5 -0
  91. data/app/views/next_sgad/attendances/show.html.erb +24 -0
  92. data/app/views/next_sgad/configurations/_form.html.erb +32 -0
  93. data/app/views/next_sgad/configurations/edit.html.erb +6 -0
  94. data/app/views/next_sgad/configurations/index.html.erb +31 -0
  95. data/app/views/next_sgad/configurations/new.html.erb +5 -0
  96. data/app/views/next_sgad/configurations/show.html.erb +19 -0
  97. data/app/views/next_sgad/departments/_form.html.erb +32 -0
  98. data/app/views/next_sgad/departments/edit.html.erb +6 -0
  99. data/app/views/next_sgad/departments/index.html.erb +33 -0
  100. data/app/views/next_sgad/departments/new.html.erb +5 -0
  101. data/app/views/next_sgad/departments/show.html.erb +24 -0
  102. data/app/views/next_sgad/employee_goals/_form.html.erb +42 -0
  103. data/app/views/next_sgad/employee_goals/edit.html.erb +6 -0
  104. data/app/views/next_sgad/employee_goals/index.html.erb +35 -0
  105. data/app/views/next_sgad/employee_goals/new.html.erb +5 -0
  106. data/app/views/next_sgad/employee_goals/show.html.erb +29 -0
  107. data/app/views/next_sgad/employees/_form.html.erb +27 -0
  108. data/app/views/next_sgad/employees/_organigrama.html.erb +7 -0
  109. data/app/views/next_sgad/employees/edit.html.erb +6 -0
  110. data/app/views/next_sgad/employees/index.html.erb +31 -0
  111. data/app/views/next_sgad/employees/new.html.erb +5 -0
  112. data/app/views/next_sgad/employees/show.html.erb +19 -0
  113. data/app/views/next_sgad/functions/_form.html.erb +22 -0
  114. data/app/views/next_sgad/functions/edit.html.erb +6 -0
  115. data/app/views/next_sgad/functions/index.html.erb +27 -0
  116. data/app/views/next_sgad/functions/new.html.erb +5 -0
  117. data/app/views/next_sgad/functions/show.html.erb +9 -0
  118. data/app/views/next_sgad/goals/_form.html.erb +62 -0
  119. data/app/views/next_sgad/goals/edit.html.erb +6 -0
  120. data/app/views/next_sgad/goals/index.html.erb +41 -0
  121. data/app/views/next_sgad/goals/new.html.erb +5 -0
  122. data/app/views/next_sgad/goals/show.html.erb +49 -0
  123. data/app/views/next_sgad/justifications/_form.html.erb +22 -0
  124. data/app/views/next_sgad/justifications/edit.html.erb +6 -0
  125. data/app/views/next_sgad/justifications/index.html.erb +27 -0
  126. data/app/views/next_sgad/justifications/new.html.erb +5 -0
  127. data/app/views/next_sgad/justifications/show.html.erb +9 -0
  128. data/app/views/next_sgad/positions/_form.html.erb +43 -0
  129. data/app/views/next_sgad/positions/edit.html.erb +6 -0
  130. data/app/views/next_sgad/positions/index.html.erb +94 -0
  131. data/app/views/next_sgad/positions/new.html.erb +5 -0
  132. data/app/views/next_sgad/positions/organigram.html.erb +1 -0
  133. data/app/views/next_sgad/positions/show.html.erb +34 -0
  134. data/app/views/next_sgad/results/_form.html.erb +37 -0
  135. data/app/views/next_sgad/results/edit.html.erb +6 -0
  136. data/app/views/next_sgad/results/index.html.erb +33 -0
  137. data/app/views/next_sgad/results/new.html.erb +5 -0
  138. data/app/views/next_sgad/results/show.html.erb +24 -0
  139. data/config/initializers/core_extentions.rb +1 -0
  140. data/config/initializers/initializer.rb +1 -0
  141. data/config/initializers/m.rb +1 -0
  142. data/config/initializers/semper.rb +1 -0
  143. data/config/routes.rb +16 -0
  144. data/db/migrate/20171014174705_create_next_sgad_departments.rb +11 -0
  145. data/db/migrate/20171014175212_create_next_sgad_employees.rb +11 -0
  146. data/db/migrate/20171014175507_create_next_sgad_positions.rb +13 -0
  147. data/db/migrate/20171014183337_create_next_sgad_configurations.rb +11 -0
  148. data/db/migrate/20171015073528_add_next_sgad_department_to_department.rb +6 -0
  149. data/db/migrate/20171019142918_remove_table_configurations.rb +5 -0
  150. data/db/migrate/20171019143336_create_next_sgad_settings.rb +11 -0
  151. data/db/migrate/20171022113005_add_paygrade_to_next_sgad_employee.rb +6 -0
  152. data/db/migrate/20171024154422_create_next_sgad_assessments.rb +10 -0
  153. data/db/migrate/20171024172007_create_next_sgad_goals.rb +18 -0
  154. data/db/migrate/20171024181227_create_next_sgad_employee_goals.rb +16 -0
  155. data/db/migrate/20171024192907_corrects_references.rb +8 -0
  156. data/db/migrate/20171024193750_copies_info_from_old_references.rb +8 -0
  157. data/db/migrate/20171025093224_change_column_year_from_assessments.rb +6 -0
  158. data/db/migrate/20171025134655_add_goal_type_to_employee_goals.rb +8 -0
  159. data/db/migrate/20171025135319_addname_to_next_sgad_employee_goals.rb +5 -0
  160. data/db/migrate/20171025153545_add_position_reference_to_goals.rb +4 -0
  161. data/db/migrate/20171026055530_add_position_to_next_sgad_goals.rb +5 -0
  162. data/db/migrate/20171026060110_add_position_to_next_sgad_employee.rb +5 -0
  163. data/db/migrate/20171026060351_copies_posiiton_id_to_employees.rb +9 -0
  164. data/db/migrate/20171026061315_remove_old_reference_columns.rb +8 -0
  165. data/db/migrate/20171026115447_add_description_to_next_sgad_goals.rb +6 -0
  166. data/db/migrate/20171026142240_add_position_to_next_sgad_employee_goals.rb +5 -0
  167. data/db/migrate/20171027210543_create_next_sgad_functions.rb +9 -0
  168. data/db/migrate/20171027210912_add_function_to_next_sgad_positions.rb +5 -0
  169. data/db/migrate/20171027213833_create_join_table_goal_position.rb +8 -0
  170. data/db/migrate/20171027221550_create_join_table_employee_position.rb +8 -0
  171. data/db/migrate/20171027223737_add_efective_to_next_sgad_positions.rb +5 -0
  172. data/db/migrate/20171027230032_remove_position_from_next_sgad_employee.rb +6 -0
  173. data/db/migrate/20171027230033_clear_data.rb +7 -0
  174. data/db/migrate/20171028061909_add_description_to_next_sgad_functions.rb +5 -0
  175. data/db/migrate/20171028140106_add_percentages_to_next_sagad_assessments.rb +6 -0
  176. data/db/migrate/20171029074321_rename_paygrade_and_level_from_employee.rb +7 -0
  177. data/db/migrate/20171029103212_add_email_to_next_sgad_employee.rb +5 -0
  178. data/db/migrate/20171029154047_add_coment_to_next_sgad_employee_goals.rb +6 -0
  179. data/db/migrate/20171029160044_add_amount_to_next_sgad_employee_goals.rb +5 -0
  180. data/db/migrate/20171101112232_change_self_assessment_from_next_sgad_employee_goals.rb +13 -0
  181. data/db/migrate/20171106113735_add_first_name_to_next_sgad_employees.rb +24 -0
  182. data/db/migrate/20171110103155_add_number_to_next_sgad_functions.rb +5 -0
  183. data/db/migrate/20171111081148_create_next_sgad_justifications.rb +9 -0
  184. data/db/migrate/20171111093506_create_next_sgad_attendances.rb +13 -0
  185. data/db/migrate/20171111093524_add_references_to_justifications_and_attendences.rb +10 -0
  186. data/db/migrate/20171111094154_create_join_table_attendance_justification.rb +8 -0
  187. data/db/migrate/20171111121753_create_next_sgad_results.rb +13 -0
  188. data/db/migrate/20171111121935_resolts_relationship.rb +9 -0
  189. data/db/migrate/20171112004221_add_attendance_percentage_to_next_sgad_assessment.rb +14 -0
  190. data/db/migrate/20171112121440_add_status_to_next_sgad_justifications.rb +7 -0
  191. data/db/migrate/20171112172436_add_department_to_attendances.rb +6 -0
  192. data/db/migrate/20171113125224_add_configuration_columns_to_nexts_sgad_assessment.rb +18 -0
  193. data/db/migrate/20171113143825_add_max_number_of_absences_for_five_to_next_sgad_assessments.rb +9 -0
  194. data/db/migrate/20171114135601_change_column_status_from_result.rb +6 -0
  195. data/db/migrate/20171115085324_create_next_sgad_activities.rb +10 -0
  196. data/db/migrate/20171115110522_add_column_nature_and_value_to_results.rb +7 -0
  197. data/db/migrate/20171115111821_remove_unused_columns.rb +19 -0
  198. data/db/migrate/20171115140048_corrects_status.rb +6 -0
  199. data/db/migrate/20171115160122_add_justification_status_to_next_sgad_attendances.rb +5 -0
  200. data/db/migrate/20171115161157_migrate_fill_justification_columns.rb +7 -0
  201. data/lib/concerns/models/employee.rb +25 -0
  202. data/lib/generators/initializer/USAGE +8 -0
  203. data/lib/generators/initializer/initializer_generator.rb +6 -0
  204. data/lib/generators/initializer/templates/initializer.rb +1 -0
  205. data/lib/generators/initializer_generator.rb +6 -0
  206. data/lib/generators/views/USAGE +8 -0
  207. data/lib/generators/views/views_generator.rb +3 -0
  208. data/lib/next_sgad/engine.rb +13 -0
  209. data/lib/next_sgad/version.rb +3 -0
  210. data/lib/next_sgad.rb +5 -0
  211. data/lib/tasks/next_sgad_tasks.rake +4 -0
  212. metadata +268 -0
@@ -0,0 +1,5 @@
1
+ class AddPositionToNextSgadEmployee < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_employees, :position, foreign_key: {to_table: :next_sgad_positions}, index: true
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CopiesPosiitonIdToEmployees < ActiveRecord::Migration[5.1]
2
+ def change
3
+ data = (NextSgad::Position.all).group_by{|f| [f.class.name, f.employee_id]}
4
+ NextSgad::Employee.all.each do |e|
5
+ e.position_id = data[[NextSgad::Position.name, e.id]]&.last&.id
6
+ e.save
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ class RemoveOldReferenceColumns < ActiveRecord::Migration[5.1]
2
+ def change
3
+ remove_column :next_sgad_positions, :next_sgad_department_id
4
+ remove_column :next_sgad_positions, :next_sgad_employee_id
5
+ remove_column :next_sgad_positions, :next_sgad_position_id
6
+ remove_column :next_sgad_positions, :employee_id
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ class AddDescriptionToNextSgadGoals < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_goals, :description, :text
4
+ add_column :next_sgad_employee_goals, :description, :text
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddPositionToNextSgadEmployeeGoals < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_employee_goals, :position, foreign_key: {to_table: :next_sgad_positions}
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CreateNextSgadFunctions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :next_sgad_functions do |t|
4
+ t.string :name
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class AddFunctionToNextSgadPositions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_positions, :function, foreign_key: {to_table: :next_sgad_functions}, index: true
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class CreateJoinTableGoalPosition < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_join_table :next_sgad_positions, :next_sgad_goals do |t|
4
+ t.index [:next_sgad_position_id, :next_sgad_goal_id], name: 'index_next_sgad_goals_positions_on_position_id_and_goal_id'
5
+ # t.index [:next_sgad_goal_id, :next_sgad_position_id]
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class CreateJoinTableEmployeePosition < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_join_table :next_sgad_employees, :next_sgad_positions do |t|
4
+ t.index [:next_sgad_employee_id, :next_sgad_position_id], name: 'idx_nxt_sgad_employees_positions_on_employee_id_and_position_id'
5
+ # t.index [:next_sgad_position_id, :next_sgad_employee_id]
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ class AddEfectiveToNextSgadPositions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_positions, :efective, foreign_key: {to_table: :next_sgad_employees}, index: true
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class RemovePositionFromNextSgadEmployee < ActiveRecord::Migration[5.1]
2
+ def change
3
+ remove_column :next_sgad_employees, :position_id, :bigint
4
+ remove_column :next_sgad_goals, :position_id, :bigint
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ class ClearData < ActiveRecord::Migration[5.1]
2
+ def change
3
+ NextSgad::EmployeeGoal.all.delete_all
4
+ NextSgad::Goal.all.delete_all
5
+ NextSgad::Position.all.delete_all
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class AddDescriptionToNextSgadFunctions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_functions, :description, :text
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddPercentagesToNextSagadAssessments < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_assessments, :skills_percentage, :decimal, default: 0, null: false
4
+ add_column :next_sgad_assessments, :objectives_percentage, :decimal, default: 0, null: false
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ class RenamePaygradeAndLevelFromEmployee < ActiveRecord::Migration[5.1]
2
+ def change
3
+ rename_column :next_sgad_employees, :paygrade, :paygrades
4
+ rename_column :next_sgad_employees, :level, :paygrade
5
+ rename_column :next_sgad_employees, :paygrades, :level
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class AddEmailToNextSgadEmployee < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_employees, :email, :string
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddComentToNextSgadEmployeeGoals < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_employee_goals, :employee_note, :text
4
+ add_column :next_sgad_employee_goals, :supervisor_note, :text
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddAmountToNextSgadEmployeeGoals < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_employee_goals, :amount, :decimal, default: 0, null: false
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ class ChangeSelfAssessmentFromNextSgadEmployeeGoals < ActiveRecord::Migration[5.1]
2
+ def up
3
+ change_column :next_sgad_employee_goals, :self_assessment, :decimal, null: false, default: 0
4
+ change_column :next_sgad_employee_goals, :supervisor_assessment, :decimal, null: false, default: 0
5
+ change_column :next_sgad_employee_goals, :final_assessment, :decimal, null: false, default: 0
6
+ end
7
+
8
+ def down
9
+ change_column :next_sgad_employee_goals, :self_assessment, :integer, null: false, default: 0
10
+ change_column :next_sgad_employee_goals, :supervisor_assessment, :integer, null: false, default: 0
11
+ change_column :next_sgad_employee_goals, :final_assessment, :integer, null: false, default: 0
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ class AddFirstNameToNextSgadEmployees < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_employees, :first_name, :string
4
+ add_column :next_sgad_employees, :last_name, :string
5
+ add_column :next_sgad_employees, :middle_name, :string
6
+
7
+ NextSgad::Employee.all.each do |employee|
8
+ names = employee.name.split(' ')
9
+ next if names.size <= 0
10
+ if names.size == 1
11
+ employee.first_name = names.first
12
+ elsif names.size == 2
13
+ employee.first_name = names.first
14
+ employee.last_name = names.last
15
+
16
+ elsif names.size > 2
17
+ employee.first_name = names.shift
18
+ employee.last_name = names.pop
19
+ employee.middle_name = names.join(' ')
20
+ end
21
+ employee.save(validate: false)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,5 @@
1
+ class AddNumberToNextSgadFunctions < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_functions, :number, :string
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CreateNextSgadJustifications < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :next_sgad_justifications do |t|
4
+ t.json :documents
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ class CreateNextSgadAttendances < ActiveRecord::Migration[5.1]
2
+ def change
3
+ drop_table :next_sgad_attendances if table_exists? :next_sgad_attendances
4
+ create_table :next_sgad_attendances do |t|
5
+ t.datetime :date
6
+ t.integer :status, defautl: 0, null: false
7
+ t.text :employee_note
8
+ t.text :supervisor_note
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ class AddReferencesToJustificationsAndAttendences < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_attendances, :assessment, foreign_key: {to_table: :next_sgad_assessments}, index: true
4
+ add_reference :next_sgad_attendances, :position, foreign_key: {to_table: :next_sgad_positions}, index: true
5
+ add_reference :next_sgad_attendances, :employee, foreign_key: {to_table: :next_sgad_employees}, index: true
6
+ add_reference :next_sgad_justifications, :assessment, foreign_key: {to_table: :next_sgad_assessments}, index: true
7
+ add_reference :next_sgad_justifications, :position, foreign_key: {to_table: :next_sgad_positions}, index: true
8
+ add_reference :next_sgad_justifications, :employee, foreign_key: {to_table: :next_sgad_employees}, index: true
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ class CreateJoinTableAttendanceJustification < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_join_table :next_sgad_attendances, :next_sgad_justifications do |t|
4
+ t.index [:next_sgad_attendance_id, :next_sgad_justification_id], name: 'indx_nxt_sgd_tndncs_jstns_on_attendence_id_and_justification_id'
5
+ # t.index [:next_sgad_justification_id, :next_sgad_attendance_id]
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ class CreateNextSgadResults < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :next_sgad_results do |t|
4
+ t.string :note
5
+ t.string :attachment
6
+ t.integer :state, default: 1, null: false
7
+ t.integer :result_type
8
+ t.integer :created_by
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ class ResoltsRelationship < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_results, :employee, foreign_key: {to_table: :next_sgad_employees}, index: true
4
+ add_reference :next_sgad_results, :position, foreign_key: {to_table: :next_sgad_positions}, index: true
5
+ add_reference :next_sgad_results, :assessment, foreign_key: {to_table: :next_sgad_assessments}, index: true
6
+ add_reference :next_sgad_results, :employee_goal, foreign_key: {to_table: :next_sgad_employee_goals}, index: true
7
+ add_reference :next_sgad_results, :goal, foreign_key: {to_table: :next_sgad_goals}, index: true
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ class AddAttendancePercentageToNextSgadAssessment < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_assessments, :attendance_percentage, :decimal, default: 0, null: false
4
+ add_column :next_sgad_assessments, :four_hours_late_discount, :decimal, default: 0, null: false
5
+ add_column :next_sgad_assessments, :three_hours_late_discount, :decimal, default: 0, null: false
6
+ add_column :next_sgad_assessments, :two_hours_late_discount, :decimal, default: 0, null: false
7
+ add_column :next_sgad_assessments, :one_hour_late_discount, :decimal, default: 0, null: false
8
+ add_column :next_sgad_assessments, :presence_discount, :decimal, default: 0, null: false
9
+ add_column :next_sgad_assessments, :absence_discount, :decimal, default: 0, null: false
10
+ add_column :next_sgad_assessments, :justified_absence_discount, :decimal, default: 0, null: false
11
+ add_column :next_sgad_assessments, :vacation_discount, :decimal, default: 0, null: false
12
+ add_column :next_sgad_assessments, :authorized_leave_discount, :decimal, default: 0, null: false
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ class AddStatusToNextSgadJustifications < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_justifications, :status, :integer, default: 0, null: false
4
+ add_column :next_sgad_justifications, :employee_note, :text
5
+ add_column :next_sgad_justifications, :supervisor_note, :text
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ class AddDepartmentToAttendances < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :next_sgad_attendances, :department, foreign_key: {to_table: :next_sgad_departments}, index: true
4
+ add_reference :next_sgad_justifications, :department, foreign_key: {to_table: :next_sgad_departments}, index: true
5
+ end
6
+ end
@@ -0,0 +1,18 @@
1
+ class AddConfigurationColumnsToNextsSgadAssessment < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_assessments, :number_of_four_hours_delay_to_absence, :integer, default: 0, null: false
4
+ add_column :next_sgad_assessments, :number_of_three_hours_delay_to_absence, :integer, default: 0, null: false
5
+ add_column :next_sgad_assessments, :number_of_two_hours_delay_to_absence, :integer, default: 0, null: false
6
+ add_column :next_sgad_assessments, :number_of_one_hour_delay_to_absence, :integer, default: 0, null: false
7
+
8
+ remove_column :next_sgad_assessments, :four_hours_late_discount, :decimal, default: 0, null: false
9
+ remove_column :next_sgad_assessments, :three_hours_late_discount, :decimal, default: 0, null: false
10
+ remove_column :next_sgad_assessments, :two_hours_late_discount, :decimal, default: 0, null: false
11
+ remove_column :next_sgad_assessments, :one_hour_late_discount, :decimal, default: 0, null: false
12
+ remove_column :next_sgad_assessments, :presence_discount, :decimal, default: 0, null: false
13
+ remove_column :next_sgad_assessments, :absence_discount, :decimal, default: 0, null: false
14
+ remove_column :next_sgad_assessments, :justified_absence_discount, :decimal, default: 0, null: false
15
+ remove_column :next_sgad_assessments, :vacation_discount, :decimal, default: 0, null: false
16
+ remove_column :next_sgad_assessments, :authorized_leave_discount, :decimal, default: 0, null: false
17
+ end
18
+ end
@@ -0,0 +1,9 @@
1
+ class AddMaxNumberOfAbsencesForFiveToNextSgadAssessments < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_assessments, :max_absences_for_five, :integer, default: 0, null: false
4
+ add_column :next_sgad_assessments, :max_absences_for_four, :integer, default: 0, null: false
5
+ add_column :next_sgad_assessments, :max_absences_for_three, :integer, default: 0, null: false
6
+ add_column :next_sgad_assessments, :max_absences_for_two, :integer, default: 0, null: false
7
+ add_column :next_sgad_assessments, :max_absences_for_one, :integer, default: 0, null: false
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ class ChangeColumnStatusFromResult < ActiveRecord::Migration[5.1]
2
+ def change
3
+ remove_column :next_sgad_results, :state
4
+ add_column :next_sgad_results, :state, :integer, null: false, default: 0
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ class CreateNextSgadActivities < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :next_sgad_activities do |t|
4
+ t.string :created_by, null: false, default: ""
5
+ t.string :description, null: false, default: ""
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ class AddColumnNatureAndValueToResults < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_results, :result_value, :decimal, null: false, default: 0
4
+ add_column :next_sgad_results, :result_nature, :integer, null: false, default: 0
5
+ remove_column :next_sgad_results, :position_id
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ class RemoveUnusedColumns < ActiveRecord::Migration[5.1]
2
+ def change
3
+ # from employees
4
+ remove_column :next_sgad_employees, :email, :string
5
+ remove_column :next_sgad_employees, :name, :string
6
+ # from goals
7
+ remove_column :next_sgad_goals, :percentage, :decimal
8
+ remove_column :next_sgad_goals, :percentage_on_the_type, :decimal
9
+ # from employee goals
10
+ remove_column :next_sgad_employee_goals, :percentage, :decimal
11
+ # from justifications
12
+ remove_column :next_sgad_justifications, :assessment_id, :bigint
13
+ remove_column :next_sgad_justifications, :position_id, :bigint
14
+ remove_column :next_sgad_justifications, :department_id, :bigint
15
+ # Just renames this columns
16
+ rename_column :next_sgad_goals, :state, :status
17
+ rename_column :next_sgad_employee_goals, :state, :status
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ class CorrectsStatus < ActiveRecord::Migration[5.1]
2
+ def change
3
+
4
+ rename_column :next_sgad_assessments, :state, :status
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddJustificationStatusToNextSgadAttendances < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :next_sgad_attendances, :justification_status, :integer, default: -1, null: false
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class MigrateFillJustificationColumns < ActiveRecord::Migration[5.1]
2
+ def change
3
+ NextSgad::Justification.all.each do |j|
4
+ j.attendances.update_all(justification_status: j.status)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,25 @@
1
+ module NextSgad::Concerns::Models::Employee
2
+ extend ActiveSupport::Concern
3
+
4
+ # 'included do' causes the included code to be evaluated in the
5
+ # context where it is included (article.rb), rather than being
6
+ # executed in the module's context (blorgh/concerns/models/article).
7
+ included do
8
+ has_many :employee_goals, dependent: :destroy
9
+ has_and_belongs_to_many :positions, association_foreign_key: :next_sgad_position_id, foreign_key: :next_sgad_employee_id
10
+ has_one :efective_position, class_name: NextSgad::Position.name, foreign_key: :efective_id
11
+
12
+
13
+ INITIAL_LETTER = "E"
14
+ validates_presence_of :first_name, :last_name
15
+ before_save :create_number, on: :create
16
+
17
+ private
18
+
19
+ end
20
+
21
+ def prints
22
+ '"#{title}"'
23
+ end
24
+
25
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ rails generate initializer Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,6 @@
1
+ class InitializerGenerator < Rails::Generators::NamedBase
2
+ source_root File.expand_path('../templates', __FILE__)
3
+ def copy_initializer_file
4
+ copy_file "initializer.rb", "config/initializers/#{file_name}.rb"
5
+ end
6
+ end
@@ -0,0 +1 @@
1
+ # Add initialization content here
@@ -0,0 +1,6 @@
1
+ class InitializerGenerator < Rails::Generators::Base
2
+ desc 'This generates a test file for no reason'
3
+ def create_initializer_file
4
+ create_file "config/initializers/initializer.rb", "# Add initialization content here"
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Explain the generator
3
+
4
+ Example:
5
+ rails generate views Thing
6
+
7
+ This will create:
8
+ what/will/it/create
@@ -0,0 +1,3 @@
1
+ class ViewsGenerator < Rails::Generators::NamedBase
2
+ source_root File.expand_path('../templates', __FILE__)
3
+ end
@@ -0,0 +1,13 @@
1
+ module NextSgad
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace NextSgad
4
+ require 'jquery-rails'
5
+ require 'font-awesome-rails'
6
+ require 'chartjs-ror'
7
+ # config.to_prepare do
8
+ # # Make the implementing application's helpers available to the engine.
9
+ # # This is required for the overriding of engine views and helpers to work correctly.
10
+ # NextSgad::ApplicationController.helper Rails.application.helpers
11
+ # end
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ module NextSgad
2
+ VERSION = '0.1.3'
3
+ end
data/lib/next_sgad.rb ADDED
@@ -0,0 +1,5 @@
1
+ require "next_sgad/engine"
2
+
3
+ module NextSgad
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :next_sgad do
3
+ # # Task goes here
4
+ # end