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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +34 -0
- data/Rakefile +37 -0
- data/app/assets/config/next_sgad_manifest.js +2 -0
- data/app/assets/javascripts/next_sgad/activities.js +2 -0
- data/app/assets/javascripts/next_sgad/application.js +108 -0
- data/app/assets/javascripts/next_sgad/assessments.js +2 -0
- data/app/assets/javascripts/next_sgad/attendances.js +2 -0
- data/app/assets/javascripts/next_sgad/configurations.js +2 -0
- data/app/assets/javascripts/next_sgad/departments.js +2 -0
- data/app/assets/javascripts/next_sgad/employee_goals.js +2 -0
- data/app/assets/javascripts/next_sgad/employees.js +2 -0
- data/app/assets/javascripts/next_sgad/functions.js +7 -0
- data/app/assets/javascripts/next_sgad/goals.js +2 -0
- data/app/assets/javascripts/next_sgad/jquery.orgchart.min.js +2 -0
- data/app/assets/javascripts/next_sgad/justifications.js +2 -0
- data/app/assets/javascripts/next_sgad/positions.js +2 -0
- data/app/assets/javascripts/next_sgad/results.js +2 -0
- data/app/assets/stylesheets/next_sgad/activities.css +4 -0
- data/app/assets/stylesheets/next_sgad/application.css +77 -0
- data/app/assets/stylesheets/next_sgad/assessments.css +4 -0
- data/app/assets/stylesheets/next_sgad/attendances.css +4 -0
- data/app/assets/stylesheets/next_sgad/configurations.css +4 -0
- data/app/assets/stylesheets/next_sgad/departments.css +4 -0
- data/app/assets/stylesheets/next_sgad/employee_goals.css +4 -0
- data/app/assets/stylesheets/next_sgad/employees.css +4 -0
- data/app/assets/stylesheets/next_sgad/functions.css +4 -0
- data/app/assets/stylesheets/next_sgad/goals.css +4 -0
- data/app/assets/stylesheets/next_sgad/jquery.orgchart.min.css +2 -0
- data/app/assets/stylesheets/next_sgad/justifications.css +4 -0
- data/app/assets/stylesheets/next_sgad/positions.css +4 -0
- data/app/assets/stylesheets/next_sgad/results.css +4 -0
- data/app/controllers/next_sgad/activities_controller.rb +63 -0
- data/app/controllers/next_sgad/application_controller.rb +5 -0
- data/app/controllers/next_sgad/assessments_controller.rb +62 -0
- data/app/controllers/next_sgad/attendances_controller.rb +62 -0
- data/app/controllers/next_sgad/configurations_controller.rb +62 -0
- data/app/controllers/next_sgad/departments_controller.rb +62 -0
- data/app/controllers/next_sgad/employee_goals_controller.rb +62 -0
- data/app/controllers/next_sgad/employees_controller.rb +62 -0
- data/app/controllers/next_sgad/functions_controller.rb +62 -0
- data/app/controllers/next_sgad/goals_controller.rb +62 -0
- data/app/controllers/next_sgad/justifications_controller.rb +62 -0
- data/app/controllers/next_sgad/positions_controller.rb +78 -0
- data/app/controllers/next_sgad/results_controller.rb +62 -0
- data/app/helpers/next_sgad/activities_helper.rb +4 -0
- data/app/helpers/next_sgad/application_helper.rb +4 -0
- data/app/helpers/next_sgad/assessments_helper.rb +4 -0
- data/app/helpers/next_sgad/attendances_helper.rb +4 -0
- data/app/helpers/next_sgad/configurations_helper.rb +4 -0
- data/app/helpers/next_sgad/departments_helper.rb +4 -0
- data/app/helpers/next_sgad/employee_goals_helper.rb +4 -0
- data/app/helpers/next_sgad/employees_helper.rb +4 -0
- data/app/helpers/next_sgad/functions_helper.rb +4 -0
- data/app/helpers/next_sgad/goals_helper.rb +4 -0
- data/app/helpers/next_sgad/justifications_helper.rb +4 -0
- data/app/helpers/next_sgad/positions_helper.rb +55 -0
- data/app/helpers/next_sgad/results_helper.rb +4 -0
- data/app/jobs/next_sgad/application_job.rb +4 -0
- data/app/mailers/next_sgad/application_mailer.rb +6 -0
- data/app/models/next_sgad/activity.rb +4 -0
- data/app/models/next_sgad/application_record.rb +18 -0
- data/app/models/next_sgad/assessment.rb +128 -0
- data/app/models/next_sgad/attendance.rb +70 -0
- data/app/models/next_sgad/configuration.rb +4 -0
- data/app/models/next_sgad/department.rb +20 -0
- data/app/models/next_sgad/employee.rb +28 -0
- data/app/models/next_sgad/employee_goal.rb +36 -0
- data/app/models/next_sgad/function.rb +8 -0
- data/app/models/next_sgad/goal.rb +37 -0
- data/app/models/next_sgad/justification.rb +47 -0
- data/app/models/next_sgad/position.rb +36 -0
- data/app/models/next_sgad/result.rb +27 -0
- data/app/models/next_sgad/setting.rb +13 -0
- data/app/views/layouts/next_sgad/application.html.erb +14 -0
- data/app/views/next_sgad/activities/_form.html.erb +27 -0
- data/app/views/next_sgad/activities/edit.html.erb +6 -0
- data/app/views/next_sgad/activities/index.html.erb +29 -0
- data/app/views/next_sgad/activities/new.html.erb +5 -0
- data/app/views/next_sgad/activities/show.html.erb +14 -0
- data/app/views/next_sgad/assessments/_form.html.erb +27 -0
- data/app/views/next_sgad/assessments/edit.html.erb +6 -0
- data/app/views/next_sgad/assessments/index.html.erb +29 -0
- data/app/views/next_sgad/assessments/new.html.erb +5 -0
- data/app/views/next_sgad/assessments/show.html.erb +14 -0
- data/app/views/next_sgad/attendances/_form.html.erb +37 -0
- data/app/views/next_sgad/attendances/edit.html.erb +6 -0
- data/app/views/next_sgad/attendances/index.html.erb +33 -0
- data/app/views/next_sgad/attendances/new.html.erb +5 -0
- data/app/views/next_sgad/attendances/show.html.erb +24 -0
- data/app/views/next_sgad/configurations/_form.html.erb +32 -0
- data/app/views/next_sgad/configurations/edit.html.erb +6 -0
- data/app/views/next_sgad/configurations/index.html.erb +31 -0
- data/app/views/next_sgad/configurations/new.html.erb +5 -0
- data/app/views/next_sgad/configurations/show.html.erb +19 -0
- data/app/views/next_sgad/departments/_form.html.erb +32 -0
- data/app/views/next_sgad/departments/edit.html.erb +6 -0
- data/app/views/next_sgad/departments/index.html.erb +33 -0
- data/app/views/next_sgad/departments/new.html.erb +5 -0
- data/app/views/next_sgad/departments/show.html.erb +24 -0
- data/app/views/next_sgad/employee_goals/_form.html.erb +42 -0
- data/app/views/next_sgad/employee_goals/edit.html.erb +6 -0
- data/app/views/next_sgad/employee_goals/index.html.erb +35 -0
- data/app/views/next_sgad/employee_goals/new.html.erb +5 -0
- data/app/views/next_sgad/employee_goals/show.html.erb +29 -0
- data/app/views/next_sgad/employees/_form.html.erb +27 -0
- data/app/views/next_sgad/employees/_organigrama.html.erb +7 -0
- data/app/views/next_sgad/employees/edit.html.erb +6 -0
- data/app/views/next_sgad/employees/index.html.erb +31 -0
- data/app/views/next_sgad/employees/new.html.erb +5 -0
- data/app/views/next_sgad/employees/show.html.erb +19 -0
- data/app/views/next_sgad/functions/_form.html.erb +22 -0
- data/app/views/next_sgad/functions/edit.html.erb +6 -0
- data/app/views/next_sgad/functions/index.html.erb +27 -0
- data/app/views/next_sgad/functions/new.html.erb +5 -0
- data/app/views/next_sgad/functions/show.html.erb +9 -0
- data/app/views/next_sgad/goals/_form.html.erb +62 -0
- data/app/views/next_sgad/goals/edit.html.erb +6 -0
- data/app/views/next_sgad/goals/index.html.erb +41 -0
- data/app/views/next_sgad/goals/new.html.erb +5 -0
- data/app/views/next_sgad/goals/show.html.erb +49 -0
- data/app/views/next_sgad/justifications/_form.html.erb +22 -0
- data/app/views/next_sgad/justifications/edit.html.erb +6 -0
- data/app/views/next_sgad/justifications/index.html.erb +27 -0
- data/app/views/next_sgad/justifications/new.html.erb +5 -0
- data/app/views/next_sgad/justifications/show.html.erb +9 -0
- data/app/views/next_sgad/positions/_form.html.erb +43 -0
- data/app/views/next_sgad/positions/edit.html.erb +6 -0
- data/app/views/next_sgad/positions/index.html.erb +94 -0
- data/app/views/next_sgad/positions/new.html.erb +5 -0
- data/app/views/next_sgad/positions/organigram.html.erb +1 -0
- data/app/views/next_sgad/positions/show.html.erb +34 -0
- data/app/views/next_sgad/results/_form.html.erb +37 -0
- data/app/views/next_sgad/results/edit.html.erb +6 -0
- data/app/views/next_sgad/results/index.html.erb +33 -0
- data/app/views/next_sgad/results/new.html.erb +5 -0
- data/app/views/next_sgad/results/show.html.erb +24 -0
- data/config/initializers/core_extentions.rb +1 -0
- data/config/initializers/initializer.rb +1 -0
- data/config/initializers/m.rb +1 -0
- data/config/initializers/semper.rb +1 -0
- data/config/routes.rb +16 -0
- data/db/migrate/20171014174705_create_next_sgad_departments.rb +11 -0
- data/db/migrate/20171014175212_create_next_sgad_employees.rb +11 -0
- data/db/migrate/20171014175507_create_next_sgad_positions.rb +13 -0
- data/db/migrate/20171014183337_create_next_sgad_configurations.rb +11 -0
- data/db/migrate/20171015073528_add_next_sgad_department_to_department.rb +6 -0
- data/db/migrate/20171019142918_remove_table_configurations.rb +5 -0
- data/db/migrate/20171019143336_create_next_sgad_settings.rb +11 -0
- data/db/migrate/20171022113005_add_paygrade_to_next_sgad_employee.rb +6 -0
- data/db/migrate/20171024154422_create_next_sgad_assessments.rb +10 -0
- data/db/migrate/20171024172007_create_next_sgad_goals.rb +18 -0
- data/db/migrate/20171024181227_create_next_sgad_employee_goals.rb +16 -0
- data/db/migrate/20171024192907_corrects_references.rb +8 -0
- data/db/migrate/20171024193750_copies_info_from_old_references.rb +8 -0
- data/db/migrate/20171025093224_change_column_year_from_assessments.rb +6 -0
- data/db/migrate/20171025134655_add_goal_type_to_employee_goals.rb +8 -0
- data/db/migrate/20171025135319_addname_to_next_sgad_employee_goals.rb +5 -0
- data/db/migrate/20171025153545_add_position_reference_to_goals.rb +4 -0
- data/db/migrate/20171026055530_add_position_to_next_sgad_goals.rb +5 -0
- data/db/migrate/20171026060110_add_position_to_next_sgad_employee.rb +5 -0
- data/db/migrate/20171026060351_copies_posiiton_id_to_employees.rb +9 -0
- data/db/migrate/20171026061315_remove_old_reference_columns.rb +8 -0
- data/db/migrate/20171026115447_add_description_to_next_sgad_goals.rb +6 -0
- data/db/migrate/20171026142240_add_position_to_next_sgad_employee_goals.rb +5 -0
- data/db/migrate/20171027210543_create_next_sgad_functions.rb +9 -0
- data/db/migrate/20171027210912_add_function_to_next_sgad_positions.rb +5 -0
- data/db/migrate/20171027213833_create_join_table_goal_position.rb +8 -0
- data/db/migrate/20171027221550_create_join_table_employee_position.rb +8 -0
- data/db/migrate/20171027223737_add_efective_to_next_sgad_positions.rb +5 -0
- data/db/migrate/20171027230032_remove_position_from_next_sgad_employee.rb +6 -0
- data/db/migrate/20171027230033_clear_data.rb +7 -0
- data/db/migrate/20171028061909_add_description_to_next_sgad_functions.rb +5 -0
- data/db/migrate/20171028140106_add_percentages_to_next_sagad_assessments.rb +6 -0
- data/db/migrate/20171029074321_rename_paygrade_and_level_from_employee.rb +7 -0
- data/db/migrate/20171029103212_add_email_to_next_sgad_employee.rb +5 -0
- data/db/migrate/20171029154047_add_coment_to_next_sgad_employee_goals.rb +6 -0
- data/db/migrate/20171029160044_add_amount_to_next_sgad_employee_goals.rb +5 -0
- data/db/migrate/20171101112232_change_self_assessment_from_next_sgad_employee_goals.rb +13 -0
- data/db/migrate/20171106113735_add_first_name_to_next_sgad_employees.rb +24 -0
- data/db/migrate/20171110103155_add_number_to_next_sgad_functions.rb +5 -0
- data/db/migrate/20171111081148_create_next_sgad_justifications.rb +9 -0
- data/db/migrate/20171111093506_create_next_sgad_attendances.rb +13 -0
- data/db/migrate/20171111093524_add_references_to_justifications_and_attendences.rb +10 -0
- data/db/migrate/20171111094154_create_join_table_attendance_justification.rb +8 -0
- data/db/migrate/20171111121753_create_next_sgad_results.rb +13 -0
- data/db/migrate/20171111121935_resolts_relationship.rb +9 -0
- data/db/migrate/20171112004221_add_attendance_percentage_to_next_sgad_assessment.rb +14 -0
- data/db/migrate/20171112121440_add_status_to_next_sgad_justifications.rb +7 -0
- data/db/migrate/20171112172436_add_department_to_attendances.rb +6 -0
- data/db/migrate/20171113125224_add_configuration_columns_to_nexts_sgad_assessment.rb +18 -0
- data/db/migrate/20171113143825_add_max_number_of_absences_for_five_to_next_sgad_assessments.rb +9 -0
- data/db/migrate/20171114135601_change_column_status_from_result.rb +6 -0
- data/db/migrate/20171115085324_create_next_sgad_activities.rb +10 -0
- data/db/migrate/20171115110522_add_column_nature_and_value_to_results.rb +7 -0
- data/db/migrate/20171115111821_remove_unused_columns.rb +19 -0
- data/db/migrate/20171115140048_corrects_status.rb +6 -0
- data/db/migrate/20171115160122_add_justification_status_to_next_sgad_attendances.rb +5 -0
- data/db/migrate/20171115161157_migrate_fill_justification_columns.rb +7 -0
- data/lib/concerns/models/employee.rb +25 -0
- data/lib/generators/initializer/USAGE +8 -0
- data/lib/generators/initializer/initializer_generator.rb +6 -0
- data/lib/generators/initializer/templates/initializer.rb +1 -0
- data/lib/generators/initializer_generator.rb +6 -0
- data/lib/generators/views/USAGE +8 -0
- data/lib/generators/views/views_generator.rb +3 -0
- data/lib/next_sgad/engine.rb +13 -0
- data/lib/next_sgad/version.rb +3 -0
- data/lib/next_sgad.rb +5 -0
- data/lib/tasks/next_sgad_tasks.rake +4 -0
- metadata +268 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
10
|
+
* files in this directory. Styles in this file should be added after the last require_* statement.
|
11
|
+
* It is generally better to create a new file per style scope.
|
12
|
+
*
|
13
|
+
*= require font-awesome
|
14
|
+
*= require_tree .
|
15
|
+
*= require_self
|
16
|
+
*/
|
17
|
+
|
18
|
+
|
19
|
+
[data-orgchart-type="1"]{
|
20
|
+
width: 100%;
|
21
|
+
}
|
22
|
+
|
23
|
+
[data-orgchart-type="1"] .orgchart{
|
24
|
+
width: 100%;
|
25
|
+
}
|
26
|
+
|
27
|
+
|
28
|
+
[data-orgchart-type="1"] .orgchart .node .content{
|
29
|
+
height: 80px;
|
30
|
+
border: 0;
|
31
|
+
background-color: rgba(255, 255, 255, 0);
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
[data-orgchart-type="1"] .orgchart .node .content .orgchart-avatar{
|
36
|
+
height: 70px;
|
37
|
+
width: 70px;
|
38
|
+
border-radius: 50%;
|
39
|
+
position: absolute;
|
40
|
+
left: 14px;
|
41
|
+
}
|
42
|
+
|
43
|
+
[data-orgchart-type="1"] .orgchart .node{
|
44
|
+
width: 220px;
|
45
|
+
}
|
46
|
+
|
47
|
+
[data-orgchart-type="1"] .orgchart .node .title {
|
48
|
+
background-color: #0077c2;
|
49
|
+
}
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
[data-orgchart-type="1"] .orgchart .node .content>.orgchart-container{
|
54
|
+
height: 60px;
|
55
|
+
overflow: hidden;
|
56
|
+
background-color: #0077c2;
|
57
|
+
border-radius: 0 0 4px 4px;
|
58
|
+
}
|
59
|
+
|
60
|
+
[data-orgchart-type="1"] .orgchart .node .content .text{
|
61
|
+
width: 135px;
|
62
|
+
float: right;
|
63
|
+
text-align: left;
|
64
|
+
}
|
65
|
+
|
66
|
+
[data-orgchart-type="1"] .orgchart .node .content .text p{
|
67
|
+
margin-top: 0;
|
68
|
+
margin-bottom: 0;
|
69
|
+
color: #fff;
|
70
|
+
font-family: sans-serif;
|
71
|
+
}
|
72
|
+
|
73
|
+
[data-orgchart-type="1"] .orgchart .node .content .text p:empty{
|
74
|
+
display: none;
|
75
|
+
}
|
76
|
+
|
77
|
+
|
@@ -0,0 +1,2 @@
|
|
1
|
+
.orgchart{box-sizing:border-box;display:inline-block;min-height:202px;min-width:202px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:linear-gradient(90deg,rgba(200,0,0,.15) 10%,rgba(0,0,0,0) 10%),linear-gradient(rgba(200,0,0,.15) 10%,rgba(0,0,0,0) 10%);background-size:10px 10px;border:1px dashed transparent;padding:20px}.orgchart .hidden,.orgchart~.hidden{display:none}.orgchart.b2t{transform:rotate(180deg)}.orgchart.l2r{position:absolute;transform:rotate(-90deg) rotateY(180deg);transform-origin:left top}.orgchart .verticalNodes ul{list-style:none;margin:0;padding-left:18px;text-align:left}.orgchart .verticalNodes ul:first-child{margin-top:2px}.orgchart .verticalNodes>td::before{content:'';border:1px solid rgba(217,83,79,.8)}.orgchart .verticalNodes>td>ul>li:first-child::before{box-sizing:border-box;top:-4px;height:30px;width:calc(50% - 2px);border-width:2px 0 0 2px}.orgchart .verticalNodes ul>li{position:relative}.orgchart .verticalNodes ul>li::after,.orgchart .verticalNodes ul>li::before{box-sizing:border-box;content:'';position:absolute;left:-6px;border-color:rgba(217,83,79,.8);border-style:solid;border-width:0 0 2px 2px}.orgchart .verticalNodes ul>li::before{top:-4px;height:30px;width:11px}.orgchart .verticalNodes ul>li::after{top:1px;height:100%}.orgchart .verticalNodes ul>li:first-child::after{box-sizing:border-box;top:24px;width:11px;border-width:2px 0 0 2px}.orgchart .verticalNodes ul>li:last-child::after{box-sizing:border-box;border-width:2px 0 0}.orgchart.r2l{position:absolute;transform:rotate(90deg);transform-origin:left top}.orgchart>.spinner{font-size:100px;margin-top:30px;color:rgba(68,157,68,.8)}.orgchart table{border-spacing:0;border-collapse:separate}.orgchart>table:first-child{margin:20px auto}.orgchart td{text-align:center;vertical-align:top;padding:0}.orgchart .lines .topLine{border-top:2px solid rgba(217,83,79,.8)}.orgchart .lines .rightLine{border-right:1px solid rgba(217,83,79,.8);float:none;border-radius:0}.orgchart .lines .leftLine{border-left:1px solid rgba(217,83,79,.8);float:none;border-radius:0}.orgchart .lines .downLine{background-color:rgba(217,83,79,.8);margin:0 auto;height:20px;width:2px;float:none}.orgchart .node{display:inline-block;position:relative;margin:0;padding:3px;border:2px dashed transparent;text-align:center;width:130px}.orgchart.l2r .node,.orgchart.r2l .node{width:50px;height:130px}.orgchart .node>.spinner{position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);vertical-align:middle;font-size:30px;color:rgba(68,157,68,.8)}.orgchart .node:hover{background-color:rgba(238,217,54,.5);transition:.5s;cursor:default;z-index:20}.orgchart .node.focused{background-color:rgba(238,217,54,.5)}.orgchart .ghost-node{position:fixed;left:-10000px;top:-10000px}.orgchart .ghost-node rect{fill:#fff;stroke:#bf0000}.orgchart .node.allowedDrop{border-color:rgba(68,157,68,.9)}.orgchart .node .title{text-align:center;font-size:12px;font-weight:700;height:20px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:rgba(217,83,79,.8);color:#fff;border-radius:4px 4px 0 0}.orgchart.b2t .node .title{transform:rotate(-180deg);transform-origin:center bottom}.orgchart.l2r .node .title{transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);transform-origin:bottom center;width:120px}.orgchart.r2l .node .title{transform:rotate(-90deg) translate(-40px,-40px);transform-origin:bottom center;width:120px}.orgchart .node .title .symbol{float:left;margin-top:4px;margin-left:2px}.orgchart .node .content{box-sizing:border-box;width:100%;height:20px;font-size:11px;line-height:18px;border:1px solid rgba(217,83,79,.8);border-radius:0 0 4px 4px;text-align:center;background-color:#fff;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orgchart.b2t .node .content{transform:rotate(180deg);transform-origin:center top}.orgchart.l2r .node .content{transform:rotate(-90deg) translate(-40px,-40px) rotateY(180deg);transform-origin:top center;width:120px}.orgchart.r2l .node .content{transform:rotate(-90deg) translate(-40px,-40px);transform-origin:top center;width:120px}.orgchart .node .edge{font-size:15px;position:absolute;color:rgba(68,157,68,.5);cursor:default;transition:.2s}.orgchart.noncollapsable .node .edge{display:none}.orgchart .edge:hover{color:#449d44;cursor:pointer}.orgchart .node .verticalEdge{width:calc(100% - 10px);width:-webkit-calc(100% - 10px);width:-moz-calc(100% - 10px);left:5px}.orgchart .node .topEdge{top:-4px}.orgchart .node .bottomEdge{bottom:-4px}.orgchart .node .horizontalEdge{width:15px;height:calc(100% - 10px);height:-webkit-calc(100% - 10px);height:-moz-calc(100% - 10px);top:5px}.orgchart .node .rightEdge{right:-4px}.orgchart .node .leftEdge{left:-4px}.orgchart .node .horizontalEdge::before{position:absolute;top:calc(50% - 7px)}.orgchart .node .rightEdge::before{right:3px}.orgchart .node .leftEdge::before{left:3px}.orgchart .node .toggleBtn{position:absolute;left:5px;bottom:-2px;color:rgba(68,157,68,.6)}.orgchart .node .toggleBtn:hover{color:rgba(68,157,68,.8)}.oc-export-btn{display:inline-block;position:absolute;right:5px;top:5px;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;user-select:none;color:#fff;background-color:#5cb85c;border:1px solid transparent;border-color:#4cae4c;border-radius:4px}.oc-export-btn[disabled]{cursor:not-allowed;box-shadow:none;opacity:.3}.oc-export-btn:active,.oc-export-btn:focus,.oc-export-btn:hover{background-color:#449d44;border-color:#347a34}.orgchart~.mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;text-align:center;background-color:rgba(0,0,0,.3)}.orgchart~.mask .spinner{position:absolute;top:calc(50% - 54px);left:calc(50% - 54px);color:rgba(255,255,255,.8);font-size:108px}.orgchart .node{transition:all .3s;opacity:1;top:0;left:0}.orgchart .slide-down{opacity:0;top:40px}.orgchart.l2r .node.slide-down,.orgchart.r2l .node.slide-down{top:130px}.orgchart .slide-up{opacity:0;top:-40px}.orgchart.l2r .node.slide-up,.orgchart.r2l .node.slide-up{top:-130px}.orgchart .slide-right{opacity:0;left:130px}.orgchart.l2r .node.slide-right,.orgchart.r2l .node.slide-right{left:40px}.orgchart .slide-left{opacity:0;left:-130px}.orgchart.l2r .node.slide-left,.orgchart.r2l .node.slide-left{left:-40px}
|
2
|
+
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9qcXVlcnkub3JnY2hhcnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLFVBQ0UsV0FBWSxXQUNaLFFBQVMsYUFDVCxXQUFZLE1BQ1osVUFBVyxNQUNYLHNCQUF1QixLQUN2QixvQkFBcUIsS0FDckIsbUJBQW9CLEtBQ3BCLGlCQUFrQixLQUNsQixnQkFBaUIsS0FDakIsWUFBYSxLQUNiLGlCQUFrQiw4REFBdUUsQ0FBRSx5REFDM0YsZ0JBQWlCLEtBQUssS0FDdEIsT0FBUSxJQUFJLE9BQU8sWUFDbkIsUUFBUyxLQUdYLGtCQUFtQixrQkFDakIsUUFBUyxLQUdYLGNBQ0UsVUFBVyxlQUdiLGNBQ0UsU0FBVSxTQUNWLFVBQVcsZUFBZSxnQkFDMUIsaUJBQWtCLEtBQUssSUFHekIsNEJBQ0UsV0FBWSxLQUNaLE9BQVEsRUFDUixhQUFjLEtBQ2QsV0FBWSxLQUVkLHdDQUNFLFdBQVksSUFFZCxvQ0FDRSxRQUFTLEdBQ1QsT0FBUSxJQUFJLE1BQU0sbUJBRXBCLHNEQUNFLFdBQVksV0FDWixJQUFLLEtBQ0wsT0FBUSxLQUNSLE1BQU8sZ0JBQ1AsYUFBYyxJQUFJLEVBQUUsRUFBRSxJQUV4QiwrQkFDRSxTQUFVLFNBR1osc0NBREEsdUNBRUUsV0FBWSxXQUNaLFFBQVMsR0FDVCxTQUFVLFNBQ1YsS0FBTSxLQUNOLGFBQWMsbUJBQ2QsYUFBYyxNQUNkLGFBQWMsRUFBRSxFQUFFLElBQUksSUFFeEIsdUNBQ0UsSUFBSyxLQUNMLE9BQVEsS0FDUixNQUFPLEtBRVQsc0NBQ0UsSUFBSyxJQUNMLE9BQVEsS0FFVixrREFDRSxXQUFZLFdBQ1osSUFBSyxLQUNMLE1BQU8sS0FDUCxhQUFjLElBQUksRUFBRSxFQUFFLElBRXhCLGlEQUNFLFdBQVksV0FDWixhQUFjLElBQUksRUFBRSxFQUd0QixjQUNFLFNBQVUsU0FDVixVQUFXLGNBQ1gsaUJBQWtCLEtBQUssSUFHekIsbUJBQ0UsVUFBVyxNQUNYLFdBQVksS0FDWixNQUFPLG1CQUdULGdCQUNFLGVB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LEtBQ1AsaUJBQWtCLFFBQ2xCLE9BQVEsSUFBSSxNQUFNLFlBQ2xCLGFBQWMsUUFDZCxjQUFlLElBR2pCLHlCQUNFLE9BQVEsWUFDUixXQUFZLEtBQ1osUUFBUyxHQUcrQixzQkFBckIscUJBQXJCLHFCQUNFLGlCQUFrQixRQUNsQixhQUFjLFFBR2hCLGdCQUNFLFNBQVUsU0FDVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixLQUFNLEVBQ04sUUFBUyxJQUNULFdBQVksT0FDWixpQkFBa0IsZUFHcEIseUJBQ0UsU0FBVSxTQUNWLElBQUssaUJBQ0wsS0FBTSxpQkFDTixNQUFPLHFCQUNQLFVBQVcsTUFHYixnQkFDRSxXQUFZLElBQUksSUFDaEIsUUFBUyxFQUNULElBQUssRUFDTCxLQUFNLEVBR1Isc0JBQ0UsUUFBUyxFQUNULElBQUssS0FHUCwrQkFBZ0MsK0JBQzlCLElBQUssTUFHUCxvQkFDRSxRQUFTLEVBQ1QsSUFBSyxNQUdQLDZCQUE4Qiw2QkFDNUIsSUFBSyxPQUdQLHVCQUNFLFFBQVMsRUFDVCxLQUFNLE1BR1IsZ0NBQWlDLGdDQUMvQixLQUFNLEtBR1Isc0JBQ0UsUUFBUyxFQUNULEtBQU0sT0FHUiwrQkFBZ0MsK0JBQzlCLEtBQU0iLCJmaWxlIjoianF1ZXJ5Lm9yZ2NoYXJ0Lm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogalF1ZXJ5IE9yZ0NoYXJ0IFBsdWdpblxuICogaHR0cHM6Ly9naXRodWIuY29tL2RhYmVuZy9PcmdDaGFydFxuICpcbiAqIENvcHlyaWdodCAyMDE2LCBkYWJlbmdcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9kYWJlbmdcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2U6XG4gKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICovXG5cbi5vcmdjaGFydCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMjAycHg7XG4gIG1pbi13aWR0aDogMjAycHg7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjAwLCAwLCAwLCAwLjE1KSAxMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAlKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoMjAwLCAwLCAwLCAwLjE1KSAxMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLDApO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ub3JnY2hhcnQgLmhpZGRlbiwgLm9yZ2NoYXJ0fi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3JnY2hhcnQuYjJ0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLm9yZ2NoYXJ0LmwyciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuXG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMThweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5vcmdjaGFydCAudmVydGljYWxOb2RlcyB1bDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbi5vcmdjaGFydCAudmVydGljYWxOb2Rlcz50ZDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG59XG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXM+dGQ+dWw+bGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRvcDogLTRweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogY2FsYyg1MCUgLSAycHgpO1xuICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xufVxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOjpiZWZvcmUsXG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWw+bGk6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTZweDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMCAycHggMnB4O1xufVxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOjpiZWZvcmUge1xuICB0b3A6IC00cHg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDExcHg7XG59XG4ub3JnY2hhcnQgLnZlcnRpY2FsTm9kZXMgdWw+bGk6OmFmdGVyIHtcbiAgdG9wOiAxcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5vcmdjaGFydCAudmVydGljYWxOb2RlcyB1bD5saTpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDI0cHg7XG4gIHdpZHRoOiAxMXB4O1xuICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xufVxuLm9yZ2NoYXJ0IC52ZXJ0aWNhbE5vZGVzIHVsPmxpOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwO1xufVxuXG4ub3JnY2hhcnQucjJsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuXG4ub3JnY2hhcnQ+LnNwaW5uZXIge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBjb2xvcjogcmdiYSg2OCwgMTU3LCA2OCwgMC44KTtcbn1cblxuLm9yZ2NoYXJ0IHRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG59XG5cbi5vcmdjaGFydD50YWJsZTpmaXJzdC1jaGlsZHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbi5vcmdjaGFydCB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm9yZ2NoYXJ0IC5saW5lcyAudG9wTGluZSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xufVxuXG4ub3JnY2hhcnQgLmxpbmVzIC5yaWdodExpbmUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDIxNywgODMsIDc5LCAwLjgpO1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm9yZ2NoYXJ0IC5saW5lcyAubGVmdExpbmUge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIGZsb2F0OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ub3JnY2hhcnQgLmxpbmVzIC5kb3duTGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAycHg7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiBub2RlIHN0eWxpbmcgKi9cbi5vcmdjaGFydCAubm9kZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHRyYW5zcGFyZW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMzBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZSwgLm9yZ2NoYXJ0LnIybCAubm9kZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGU+LnNwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogcmdiYSg2OCwgMTU3LCA2OCwgMC44KTtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIxNywgNTQsIDAuNSk7XG4gIHRyYW5zaXRpb246IC41cztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB6LWluZGV4OiAyMDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlLmZvY3VzZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjE3LCA1NCwgMC41KTtcbn1cblxuLm9yZ2NoYXJ0IC5naG9zdC1ub2RlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiAtMTAwMDBweDtcbn1cblxuLm9yZ2NoYXJ0IC5naG9zdC1ub2RlIHJlY3Qge1xuICBmaWxsOiAjZmZmZmZmO1xuICBzdHJva2U6ICNiZjAwMDA7XG59XG5cbi5vcmdjaGFydCAubm9kZS5hbGxvd2VkRHJvcCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2OCwgMTU3LCA2OCwgMC45KTtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgXG59XG5cbi5vcmdjaGFydC5iMnQgLm5vZGUgLnRpdGxlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUgLnRpdGxlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KSByb3RhdGVZKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuLm9yZ2NoYXJ0LnIybCAubm9kZSAudGl0bGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuICB3aWR0aDogMTIwcHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudGl0bGUgLnN5bWJvbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAuY29udGVudCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE3LCA4MywgNzksIDAuOCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMzMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm9yZ2NoYXJ0LmIydCAubm9kZSAuY29udGVudCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUgLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSgtNDBweCwgLTQwcHgpIHJvdGF0ZVkoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG4ub3JnY2hhcnQucjJsIC5ub2RlIC5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTQwcHgsIC00MHB4KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmVkZ2Uge1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHJnYmEoNjgsIDE1NywgNjgsIDAuNSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbjogLjJzO1xufVxuXG4ub3JnY2hhcnQubm9uY29sbGFwc2FibGUgLm5vZGUgLmVkZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3JnY2hhcnQgLmVkZ2U6aG92ZXIge1xuICBjb2xvcjogIzQ0OWQ0NDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLnZlcnRpY2FsRWRnZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gMTBweCk7XG4gIHdpZHRoOiAtbW96LWNhbGMoMTAwJSAtIDEwcHgpO1xuICBsZWZ0OiA1cHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudG9wRWRnZSB7XG4gIHRvcDogLTRweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5ib3R0b21FZGdlIHtcbiAgYm90dG9tOiAtNHB4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmhvcml6b250YWxFZGdlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG4gIGhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgLSAxMHB4KTtcbiAgaGVpZ2h0OiAtbW96LWNhbGMoMTAwJSAtIDEwcHgpO1xuICB0b3A6IDVweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5yaWdodEVkZ2Uge1xuICByaWdodDogLTRweDtcbn1cblxuLm9yZ2NoYXJ0IC5ub2RlIC5sZWZ0RWRnZSB7XG4gIGxlZnQ6IC00cHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAuaG9yaXpvbnRhbEVkZ2U6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDdweCk7XG59XG5cbi5vcmdjaGFydCAubm9kZSAucmlnaHRFZGdlOjpiZWZvcmUge1xuICByaWdodDogM3B4O1xufVxuXG4ub3JnY2hhcnQgLm5vZGUgLmxlZnRFZGdlOjpiZWZvcmUge1xuICBsZWZ0OiAzcHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudG9nZ2xlQnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1cHg7XG4gIGJvdHRvbTogLTJweDtcbiAgY29sb3I6IHJnYmEoNjgsIDE1NywgNjgsIDAuNik7XG59XG5cbi5vcmdjaGFydCAubm9kZSAudG9nZ2xlQnRuOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoNjgsIDE1NywgNjgsIDAuOCk7XG59XG5cbi5vYy1leHBvcnQtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1cHg7XG4gIHRvcDogNXB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICM0Y2FlNGM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm9jLWV4cG9ydC1idG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4ub2MtZXhwb3J0LWJ0bjpob3Zlciwub2MtZXhwb3J0LWJ0bjpmb2N1cywub2MtZXhwb3J0LWJ0bjphY3RpdmUgIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQ3YTM0O1xufVxuXG4ub3JnY2hhcnR+Lm1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLm9yZ2NoYXJ0fi5tYXNrIC5zcGlubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gNTRweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTRweCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7XG4gIGZvbnQtc2l6ZTogMTA4cHg7XG59XG5cbi5vcmdjaGFydCAubm9kZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBvcGFjaXR5OiAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmdjaGFydCAuc2xpZGUtZG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIHRvcDogNDBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZS5zbGlkZS1kb3duLCAub3JnY2hhcnQucjJsIC5ub2RlLnNsaWRlLWRvd24ge1xuICB0b3A6IDEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLXVwIHtcbiAgb3BhY2l0eTogMDtcbiAgdG9wOiAtNDBweDtcbn1cblxuLm9yZ2NoYXJ0LmwyciAubm9kZS5zbGlkZS11cCwgLm9yZ2NoYXJ0LnIybCAubm9kZS5zbGlkZS11cCB7XG4gIHRvcDogLTEzMHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLXJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogMTMwcHg7XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUuc2xpZGUtcmlnaHQsIC5vcmdjaGFydC5yMmwgLm5vZGUuc2xpZGUtcmlnaHQge1xuICBsZWZ0OiA0MHB4O1xufVxuXG4ub3JnY2hhcnQgLnNsaWRlLWxlZnQge1xuICBvcGFjaXR5OiAwO1xuICBsZWZ0OiAtMTMwcHg7XG59XG5cbi5vcmdjaGFydC5sMnIgLm5vZGUuc2xpZGUtbGVmdCwgLm9yZ2NoYXJ0LnIybCAubm9kZS5zbGlkZS1sZWZ0IHtcbiAgbGVmdDogLTQwcHg7XG59Il19 */
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class ActivitiesController < ::ApplicationController
|
5
|
+
before_action :set_activity, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /activities
|
8
|
+
def index
|
9
|
+
@activities = Activity.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /activities/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
# GET /activities/new
|
18
|
+
def new
|
19
|
+
@activity = Activity.new
|
20
|
+
end
|
21
|
+
|
22
|
+
# GET /activities/1/edit
|
23
|
+
def edit
|
24
|
+
end
|
25
|
+
|
26
|
+
# POST /activities
|
27
|
+
def create
|
28
|
+
@activity = Activity.new(activity_params)
|
29
|
+
|
30
|
+
if @activity.save
|
31
|
+
redirect_to @activity, notice: 'Activity was successfully created.'
|
32
|
+
else
|
33
|
+
render :new
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# PATCH/PUT /activities/1
|
38
|
+
def update
|
39
|
+
if @activity.update(activity_params)
|
40
|
+
redirect_to @activity, notice: 'Activity was successfully updated.'
|
41
|
+
else
|
42
|
+
render :edit
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# DELETE /activities/1
|
47
|
+
def destroy
|
48
|
+
@activity.destroy
|
49
|
+
redirect_to activities_url, notice: 'Activity was successfully destroyed.'
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
# Use callbacks to share common setup or constraints between actions.
|
54
|
+
def set_activity
|
55
|
+
@activity = Activity.find(params[:id])
|
56
|
+
end
|
57
|
+
|
58
|
+
# Only allow a trusted parameter "white list" through.
|
59
|
+
def activity_params
|
60
|
+
params.require(:activity).permit(:created_by, :description)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class AssessmentsController < ::ApplicationController
|
5
|
+
before_action :set_assessment, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /assessments
|
8
|
+
def index
|
9
|
+
@assessments = Assessment.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /assessments/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /assessments/new
|
17
|
+
def new
|
18
|
+
@assessment = Assessment.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /assessments/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /assessments
|
26
|
+
def create
|
27
|
+
@assessment = Assessment.new(assessment_params)
|
28
|
+
|
29
|
+
if @assessment.create_assessment(current)
|
30
|
+
redirect_to @assessment, notice: 'Assessment was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /assessments/1
|
37
|
+
def update
|
38
|
+
if @assessment.update(assessment_params)
|
39
|
+
redirect_to @assessment, notice: 'Assessment was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /assessments/1
|
46
|
+
def destroy
|
47
|
+
@assessment.destroy
|
48
|
+
redirect_to assessments_url, notice: 'Assessment was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_assessment
|
54
|
+
@assessment = Assessment.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def assessment_params
|
59
|
+
params.require(:assessment).permit(:year, :status)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class AttendancesController < ::ApplicationController
|
5
|
+
before_action :set_attendance, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /attendances
|
8
|
+
def index
|
9
|
+
@attendances = Attendance.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /attendances/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /attendances/new
|
17
|
+
def new
|
18
|
+
@attendance = Attendance.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /attendances/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /attendances
|
26
|
+
def create
|
27
|
+
@attendance = Attendance.new(attendance_params)
|
28
|
+
|
29
|
+
if @attendance.save
|
30
|
+
redirect_to @attendance, notice: 'Attendance was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /attendances/1
|
37
|
+
def update
|
38
|
+
if @attendance.update(attendance_params)
|
39
|
+
redirect_to @attendance, notice: 'Attendance was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /attendances/1
|
46
|
+
def destroy
|
47
|
+
@attendance.destroy
|
48
|
+
redirect_to attendances_url, notice: 'Attendance was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_attendance
|
54
|
+
@attendance = Attendance.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def attendance_params
|
59
|
+
params.require(:attendance).permit(:date, :status, :employee_note, :supervisor_note)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class ConfigurationsController < ApplicationController
|
5
|
+
before_action :set_configuration, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /configurations
|
8
|
+
def index
|
9
|
+
@configurations = Configuration.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /configurations/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /configurations/new
|
17
|
+
def new
|
18
|
+
@configuration = Configuration.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /configurations/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /configurations
|
26
|
+
def create
|
27
|
+
@configuration = Configuration.new(configuration_params)
|
28
|
+
|
29
|
+
if @configuration.save
|
30
|
+
redirect_to @configuration, notice: 'Configuration was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /configurations/1
|
37
|
+
def update
|
38
|
+
if @configuration.update(configuration_params)
|
39
|
+
redirect_to @configuration, notice: 'Configuration was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /configurations/1
|
46
|
+
def destroy
|
47
|
+
@configuration.destroy
|
48
|
+
redirect_to configurations_url, notice: 'Configuration was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_configuration
|
54
|
+
@configuration = Configuration.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def configuration_params
|
59
|
+
params.require(:configuration).permit(:name, :description, :version)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class DepartmentsController < ::ApplicationController
|
5
|
+
before_action :set_department, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /departments
|
8
|
+
def index
|
9
|
+
@departments = Department.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /departments/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /departments/new
|
17
|
+
def new
|
18
|
+
@department = Department.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /departments/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /departments
|
26
|
+
def create
|
27
|
+
@department = Department.new(department_params)
|
28
|
+
|
29
|
+
if @department.save
|
30
|
+
redirect_to @department, notice: 'Department was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /departments/1
|
37
|
+
def update
|
38
|
+
if @department.update(department_params)
|
39
|
+
redirect_to @department, notice: 'Department was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /departments/1
|
46
|
+
def destroy
|
47
|
+
@department.destroy
|
48
|
+
redirect_to departments_url, notice: 'Department was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_department
|
54
|
+
@department = Department.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def department_params
|
59
|
+
params.require(:department).permit(:name, :description, :number, :department_id)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class EmployeeGoalsController < ::ApplicationController
|
5
|
+
before_action :set_employee_goal, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /employee_goals
|
8
|
+
def index
|
9
|
+
@employee_goals = EmployeeGoal.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /employee_goals/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /employee_goals/new
|
17
|
+
def new
|
18
|
+
@employee_goal = EmployeeGoal.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /employee_goals/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /employee_goals
|
26
|
+
def create
|
27
|
+
@employee_goal = EmployeeGoal.new(employee_goal_params)
|
28
|
+
|
29
|
+
if @employee_goal.save
|
30
|
+
redirect_to @employee_goal, notice: 'Employee goal was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /employee_goals/1
|
37
|
+
def update
|
38
|
+
if @employee_goal.update(employee_goal_params)
|
39
|
+
redirect_to @employee_goal, notice: 'Employee goal was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /employee_goals/1
|
46
|
+
def destroy
|
47
|
+
@employee_goal.destroy
|
48
|
+
redirect_to employee_goals_url, notice: 'Employee goal was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_employee_goal
|
54
|
+
@employee_goal = EmployeeGoal.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def employee_goal_params
|
59
|
+
params.require(:employee_goal).permit(:self_assessment, :supervisor_assessment, :final_assessment, :status, :percentage)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require_dependency "next_sgad/application_controller"
|
2
|
+
|
3
|
+
module NextSgad
|
4
|
+
class EmployeesController < ::ApplicationController
|
5
|
+
before_action :set_employee, only: [:show, :edit, :update, :destroy]
|
6
|
+
|
7
|
+
# GET /employees
|
8
|
+
def index
|
9
|
+
@employees = Employee.all
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /employees/1
|
13
|
+
def show
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /employees/new
|
17
|
+
def new
|
18
|
+
@employee = Employee.new
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /employees/1/edit
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
25
|
+
# POST /employees
|
26
|
+
def create
|
27
|
+
@employee = Employee.new(employee_params)
|
28
|
+
|
29
|
+
if @employee.save
|
30
|
+
redirect_to @employee, notice: 'Employee was successfully created.'
|
31
|
+
else
|
32
|
+
render :new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# PATCH/PUT /employees/1
|
37
|
+
def update
|
38
|
+
if @employee.update(employee_params)
|
39
|
+
redirect_to @employee, notice: 'Employee was successfully updated.'
|
40
|
+
else
|
41
|
+
render :edit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# DELETE /employees/1
|
46
|
+
def destroy
|
47
|
+
@employee.destroy
|
48
|
+
redirect_to employees_url, notice: 'Employee was successfully destroyed.'
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
# Use callbacks to share common setup or constraints between actions.
|
53
|
+
def set_employee
|
54
|
+
@employee = Employee.find(params[:id])
|
55
|
+
end
|
56
|
+
|
57
|
+
# Only allow a trusted parameter "white list" through.
|
58
|
+
def employee_params
|
59
|
+
params.require(:employee).permit(:name, :number, :level)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|