gaku_admin 0.1.0

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 (359) hide show
  1. checksums.yaml +7 -0
  2. data/app/assets/fonts/gaku/admin/glyphicons-halflings-regular.eot +0 -0
  3. data/app/assets/fonts/gaku/admin/glyphicons-halflings-regular.svg +228 -0
  4. data/app/assets/fonts/gaku/admin/glyphicons-halflings-regular.ttf +0 -0
  5. data/app/assets/fonts/gaku/admin/glyphicons-halflings-regular.woff +0 -0
  6. data/app/assets/javascripts/gaku/admin/admin.coffee +51 -0
  7. data/app/assets/javascripts/gaku/admin/base.js.coffee +118 -0
  8. data/app/assets/javascripts/gaku/admin/slide.js.erb +14 -0
  9. data/app/assets/javascripts/gaku/admin.js.coffee +43 -0
  10. data/app/assets/stylesheets/gaku/admin/bootstrap_and_theme.css.scss +571 -0
  11. data/app/assets/stylesheets/gaku/admin/disposals.css.scss +14 -0
  12. data/app/assets/stylesheets/gaku/admin/gaku.css.scss +216 -0
  13. data/app/assets/stylesheets/gaku/admin.css +13 -0
  14. data/app/assets/templates/roster.xls +0 -0
  15. data/app/controllers/gaku/admin/achievements/simple_grade_types_controller.rb +70 -0
  16. data/app/controllers/gaku/admin/attendance_types_controller.rb +60 -0
  17. data/app/controllers/gaku/admin/badge_types_controller.rb +69 -0
  18. data/app/controllers/gaku/admin/base_controller.rb +43 -0
  19. data/app/controllers/gaku/admin/commute_method_types_controller.rb +54 -0
  20. data/app/controllers/gaku/admin/contact_types_controller.rb +55 -0
  21. data/app/controllers/gaku/admin/departments_controller.rb +55 -0
  22. data/app/controllers/gaku/admin/enrollment_statuses_controller.rb +58 -0
  23. data/app/controllers/gaku/admin/grading_method_sets/grading_method_set_items_controller.rb +70 -0
  24. data/app/controllers/gaku/admin/grading_method_sets_controller.rb +69 -0
  25. data/app/controllers/gaku/admin/grading_methods_controller.rb +60 -0
  26. data/app/controllers/gaku/admin/presets_controller.rb +75 -0
  27. data/app/controllers/gaku/admin/roles_controller.rb +54 -0
  28. data/app/controllers/gaku/admin/school_years/semesters_controller.rb +58 -0
  29. data/app/controllers/gaku/admin/school_years_controller.rb +63 -0
  30. data/app/controllers/gaku/admin/schools/campuses/addresses_controller.rb +64 -0
  31. data/app/controllers/gaku/admin/schools/campuses/contacts_controller.rb +77 -0
  32. data/app/controllers/gaku/admin/schools/campuses_controller.rb +72 -0
  33. data/app/controllers/gaku/admin/schools/programs_controller.rb +79 -0
  34. data/app/controllers/gaku/admin/schools_controller.rb +84 -0
  35. data/app/controllers/gaku/admin/specialties_controller.rb +63 -0
  36. data/app/controllers/gaku/admin/states_controller.rb +92 -0
  37. data/app/controllers/gaku/admin/system_tools_controller.rb +8 -0
  38. data/app/controllers/gaku/admin/templates_controller.rb +72 -0
  39. data/app/controllers/gaku/admin/users_controller.rb +82 -0
  40. data/app/controllers/gaku/states_controller.rb +17 -0
  41. data/app/helpers/gaku/admin_helper.rb +12 -0
  42. data/app/helpers/gaku/presets_helper.rb +10 -0
  43. data/app/helpers/gaku/shared_helper.rb +25 -0
  44. data/app/overrides/admin_menu.rb +6 -0
  45. data/app/views/gaku/admin/achievements/simple_grade_types/_fields.html.slim +8 -0
  46. data/app/views/gaku/admin/achievements/simple_grade_types/_form.html.slim +3 -0
  47. data/app/views/gaku/admin/achievements/simple_grade_types/_form_fields.html.slim +7 -0
  48. data/app/views/gaku/admin/achievements/simple_grade_types/_modal.html.slim +4 -0
  49. data/app/views/gaku/admin/achievements/simple_grade_types/_simple_grade_type.html.slim +2 -0
  50. data/app/views/gaku/admin/achievements/simple_grade_types/create.js.erb +7 -0
  51. data/app/views/gaku/admin/achievements/simple_grade_types/destroy.js.erb +2 -0
  52. data/app/views/gaku/admin/achievements/simple_grade_types/edit.js.erb +3 -0
  53. data/app/views/gaku/admin/achievements/simple_grade_types/index.html.slim +23 -0
  54. data/app/views/gaku/admin/achievements/simple_grade_types/new.js.erb +3 -0
  55. data/app/views/gaku/admin/achievements/simple_grade_types/update.js.erb +4 -0
  56. data/app/views/gaku/admin/attendance_types/_attendance_type.html.slim +2 -0
  57. data/app/views/gaku/admin/attendance_types/_fields.html.slim +9 -0
  58. data/app/views/gaku/admin/attendance_types/_form.html.slim +3 -0
  59. data/app/views/gaku/admin/attendance_types/_form_fields.html.slim +6 -0
  60. data/app/views/gaku/admin/attendance_types/_modal.html.slim +4 -0
  61. data/app/views/gaku/admin/attendance_types/create.js.erb +7 -0
  62. data/app/views/gaku/admin/attendance_types/destroy.js.erb +2 -0
  63. data/app/views/gaku/admin/attendance_types/edit.js.erb +4 -0
  64. data/app/views/gaku/admin/attendance_types/index.html.slim +24 -0
  65. data/app/views/gaku/admin/attendance_types/index.json.rb +1 -0
  66. data/app/views/gaku/admin/attendance_types/new.js.erb +4 -0
  67. data/app/views/gaku/admin/attendance_types/update.js.erb +4 -0
  68. data/app/views/gaku/admin/badge_types/_badge_type.html.slim +2 -0
  69. data/app/views/gaku/admin/badge_types/_fields.html.slim +7 -0
  70. data/app/views/gaku/admin/badge_types/_form.html.slim +3 -0
  71. data/app/views/gaku/admin/badge_types/_form_fields.html.slim +7 -0
  72. data/app/views/gaku/admin/badge_types/_modal.html.slim +4 -0
  73. data/app/views/gaku/admin/badge_types/destroy.js.erb +2 -0
  74. data/app/views/gaku/admin/badge_types/edit.js.erb +3 -0
  75. data/app/views/gaku/admin/badge_types/index.html.slim +22 -0
  76. data/app/views/gaku/admin/badge_types/new.js.erb +3 -0
  77. data/app/views/gaku/admin/commute_method_types/_commute_method_type.html.slim +2 -0
  78. data/app/views/gaku/admin/commute_method_types/_fields.html.slim +4 -0
  79. data/app/views/gaku/admin/commute_method_types/_form.html.slim +3 -0
  80. data/app/views/gaku/admin/commute_method_types/_modal.html.slim +4 -0
  81. data/app/views/gaku/admin/commute_method_types/create.js.erb +7 -0
  82. data/app/views/gaku/admin/commute_method_types/destroy.js.erb +2 -0
  83. data/app/views/gaku/admin/commute_method_types/edit.js.erb +3 -0
  84. data/app/views/gaku/admin/commute_method_types/index.html.slim +18 -0
  85. data/app/views/gaku/admin/commute_method_types/new.js.erb +3 -0
  86. data/app/views/gaku/admin/commute_method_types/update.js.erb +3 -0
  87. data/app/views/gaku/admin/contact_types/_contact_type.html.slim +2 -0
  88. data/app/views/gaku/admin/contact_types/_fields.html.slim +4 -0
  89. data/app/views/gaku/admin/contact_types/_form.html.slim +3 -0
  90. data/app/views/gaku/admin/contact_types/_modal.html.slim +4 -0
  91. data/app/views/gaku/admin/contact_types/create.js.erb +7 -0
  92. data/app/views/gaku/admin/contact_types/destroy.js.erb +2 -0
  93. data/app/views/gaku/admin/contact_types/edit.js.erb +3 -0
  94. data/app/views/gaku/admin/contact_types/index.html.slim +18 -0
  95. data/app/views/gaku/admin/contact_types/new.js.erb +3 -0
  96. data/app/views/gaku/admin/contact_types/update.js.erb +3 -0
  97. data/app/views/gaku/admin/departments/_department.html.slim +2 -0
  98. data/app/views/gaku/admin/departments/_form.html.slim +3 -0
  99. data/app/views/gaku/admin/departments/_form_fields.html.slim +1 -0
  100. data/app/views/gaku/admin/departments/_modal.html.slim +4 -0
  101. data/app/views/gaku/admin/departments/_table_fields.html.slim +5 -0
  102. data/app/views/gaku/admin/departments/create.js.erb +7 -0
  103. data/app/views/gaku/admin/departments/destroy.js.erb +2 -0
  104. data/app/views/gaku/admin/departments/edit.js.erb +3 -0
  105. data/app/views/gaku/admin/departments/index.html.slim +20 -0
  106. data/app/views/gaku/admin/departments/new.js.erb +3 -0
  107. data/app/views/gaku/admin/departments/update.js.erb +4 -0
  108. data/app/views/gaku/admin/enrollment_statuses/_enrollment_status.html.slim +2 -0
  109. data/app/views/gaku/admin/enrollment_statuses/_fields.html.slim +6 -0
  110. data/app/views/gaku/admin/enrollment_statuses/_form.html.slim +3 -0
  111. data/app/views/gaku/admin/enrollment_statuses/_form_fields.html.slim +3 -0
  112. data/app/views/gaku/admin/enrollment_statuses/_modal.html.slim +4 -0
  113. data/app/views/gaku/admin/enrollment_statuses/create.js.erb +7 -0
  114. data/app/views/gaku/admin/enrollment_statuses/destroy.js.erb +2 -0
  115. data/app/views/gaku/admin/enrollment_statuses/edit.js.erb +3 -0
  116. data/app/views/gaku/admin/enrollment_statuses/index.html.slim +21 -0
  117. data/app/views/gaku/admin/enrollment_statuses/new.js.erb +3 -0
  118. data/app/views/gaku/admin/enrollment_statuses/update.js.erb +4 -0
  119. data/app/views/gaku/admin/grading_method_sets/_fields.html.slim +9 -0
  120. data/app/views/gaku/admin/grading_method_sets/_form.html.slim +3 -0
  121. data/app/views/gaku/admin/grading_method_sets/_form_fields.html.slim +4 -0
  122. data/app/views/gaku/admin/grading_method_sets/_grading_method_set.html.slim +4 -0
  123. data/app/views/gaku/admin/grading_method_sets/_make_primary_field.html.slim +4 -0
  124. data/app/views/gaku/admin/grading_method_sets/_modal.html.slim +4 -0
  125. data/app/views/gaku/admin/grading_method_sets/create.js.erb +7 -0
  126. data/app/views/gaku/admin/grading_method_sets/destroy.js.erb +7 -0
  127. data/app/views/gaku/admin/grading_method_sets/edit.js.erb +3 -0
  128. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_fields.html.slim +9 -0
  129. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_form.html.slim +3 -0
  130. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_form_fields.html.slim +1 -0
  131. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_item.html.slim +4 -0
  132. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_items.html.slim +23 -0
  133. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/_modal.html.slim +4 -0
  134. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/create.js.erb +7 -0
  135. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/destroy.js.erb +2 -0
  136. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/edit.js.erb +3 -0
  137. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/new.js.erb +3 -0
  138. data/app/views/gaku/admin/grading_method_sets/grading_method_set_items/update.js.erb +3 -0
  139. data/app/views/gaku/admin/grading_method_sets/index.html.slim +23 -0
  140. data/app/views/gaku/admin/grading_method_sets/make_primary.js.erb +6 -0
  141. data/app/views/gaku/admin/grading_method_sets/new.js.erb +3 -0
  142. data/app/views/gaku/admin/grading_method_sets/show.html.slim +13 -0
  143. data/app/views/gaku/admin/grading_method_sets/update.js.erb +3 -0
  144. data/app/views/gaku/admin/grading_methods/_fields.html.slim +6 -0
  145. data/app/views/gaku/admin/grading_methods/_form.html.slim +3 -0
  146. data/app/views/gaku/admin/grading_methods/_form_fields.html.slim +4 -0
  147. data/app/views/gaku/admin/grading_methods/_grading_method.html.slim +2 -0
  148. data/app/views/gaku/admin/grading_methods/_modal.html.slim +4 -0
  149. data/app/views/gaku/admin/grading_methods/create.js.erb +7 -0
  150. data/app/views/gaku/admin/grading_methods/destroy.js.erb +2 -0
  151. data/app/views/gaku/admin/grading_methods/edit.js.erb +3 -0
  152. data/app/views/gaku/admin/grading_methods/index.html.slim +20 -0
  153. data/app/views/gaku/admin/grading_methods/new.js.erb +3 -0
  154. data/app/views/gaku/admin/grading_methods/update.js.erb +3 -0
  155. data/app/views/gaku/admin/presets/_address.html.slim +19 -0
  156. data/app/views/gaku/admin/presets/_chooser_fields.html.slim +91 -0
  157. data/app/views/gaku/admin/presets/_export_formats.html.slim +19 -0
  158. data/app/views/gaku/admin/presets/_fields.html.slim +5 -0
  159. data/app/views/gaku/admin/presets/_grading.html.slim +14 -0
  160. data/app/views/gaku/admin/presets/_locale.html.slim +3 -0
  161. data/app/views/gaku/admin/presets/_names_order.html.slim +15 -0
  162. data/app/views/gaku/admin/presets/_pagination.html.slim +25 -0
  163. data/app/views/gaku/admin/presets/_person.html.slim +8 -0
  164. data/app/views/gaku/admin/presets/_preset.html.slim +2 -0
  165. data/app/views/gaku/admin/presets/_student.html.slim +19 -0
  166. data/app/views/gaku/admin/presets/_tabs.html.slim +51 -0
  167. data/app/views/gaku/admin/presets/edit.html.slim +1 -0
  168. data/app/views/gaku/admin/presets/index.html.slim +16 -0
  169. data/app/views/gaku/admin/roles/_fields.html.slim +5 -0
  170. data/app/views/gaku/admin/roles/_form.html.slim +3 -0
  171. data/app/views/gaku/admin/roles/_form_fields.html.slim +1 -0
  172. data/app/views/gaku/admin/roles/_modal.html.slim +4 -0
  173. data/app/views/gaku/admin/roles/_role.html.slim +2 -0
  174. data/app/views/gaku/admin/roles/create.js.erb +7 -0
  175. data/app/views/gaku/admin/roles/destroy.js.erb +2 -0
  176. data/app/views/gaku/admin/roles/edit.js.erb +3 -0
  177. data/app/views/gaku/admin/roles/index.html.slim +20 -0
  178. data/app/views/gaku/admin/roles/new.js.erb +3 -0
  179. data/app/views/gaku/admin/roles/update.js.erb +3 -0
  180. data/app/views/gaku/admin/school_years/_fields.html.slim +7 -0
  181. data/app/views/gaku/admin/school_years/_form.html.slim +3 -0
  182. data/app/views/gaku/admin/school_years/_form_fields.html.slim +5 -0
  183. data/app/views/gaku/admin/school_years/_modal.html.slim +5 -0
  184. data/app/views/gaku/admin/school_years/_school_year.html.slim +3 -0
  185. data/app/views/gaku/admin/school_years/_show_table.html.slim +10 -0
  186. data/app/views/gaku/admin/school_years/create.js.erb +10 -0
  187. data/app/views/gaku/admin/school_years/destroy.js.erb +2 -0
  188. data/app/views/gaku/admin/school_years/edit.js.erb +5 -0
  189. data/app/views/gaku/admin/school_years/index.html.slim +21 -0
  190. data/app/views/gaku/admin/school_years/new.js.erb +5 -0
  191. data/app/views/gaku/admin/school_years/semesters/_fields.html.slim +7 -0
  192. data/app/views/gaku/admin/school_years/semesters/_form.html.slim +3 -0
  193. data/app/views/gaku/admin/school_years/semesters/_form_fields.html.slim +5 -0
  194. data/app/views/gaku/admin/school_years/semesters/_modal.html.slim +5 -0
  195. data/app/views/gaku/admin/school_years/semesters/_semester.html.slim +3 -0
  196. data/app/views/gaku/admin/school_years/semesters/_semesters.html.slim +22 -0
  197. data/app/views/gaku/admin/school_years/semesters/create.js.erb +10 -0
  198. data/app/views/gaku/admin/school_years/semesters/destroy.js.erb +2 -0
  199. data/app/views/gaku/admin/school_years/semesters/edit.js.erb +6 -0
  200. data/app/views/gaku/admin/school_years/semesters/new.js.erb +4 -0
  201. data/app/views/gaku/admin/school_years/semesters/update.js.erb +8 -0
  202. data/app/views/gaku/admin/school_years/show.html.slim +15 -0
  203. data/app/views/gaku/admin/school_years/update.js.erb +8 -0
  204. data/app/views/gaku/admin/schools/_fields.html.slim +9 -0
  205. data/app/views/gaku/admin/schools/_form.html.slim +3 -0
  206. data/app/views/gaku/admin/schools/_form_fields.html.slim +25 -0
  207. data/app/views/gaku/admin/schools/_school.html.slim +6 -0
  208. data/app/views/gaku/admin/schools/_show_table.html.slim +35 -0
  209. data/app/views/gaku/admin/schools/_tabs.html.slim +15 -0
  210. data/app/views/gaku/admin/schools/campuses/_campus.html.slim +6 -0
  211. data/app/views/gaku/admin/schools/campuses/_campuses.html.slim +23 -0
  212. data/app/views/gaku/admin/schools/campuses/_form.html.slim +3 -0
  213. data/app/views/gaku/admin/schools/campuses/_form_fields.html.slim +1 -0
  214. data/app/views/gaku/admin/schools/campuses/_picture.html.slim +8 -0
  215. data/app/views/gaku/admin/schools/campuses/_show_table.html.slim +10 -0
  216. data/app/views/gaku/admin/schools/campuses/_tabs.html.slim +15 -0
  217. data/app/views/gaku/admin/schools/campuses/_upload_picture.html.slim +7 -0
  218. data/app/views/gaku/admin/schools/campuses/addresses/_address.html.slim +7 -0
  219. data/app/views/gaku/admin/schools/campuses/addresses/_address_row_fields.html.slim +4 -0
  220. data/app/views/gaku/admin/schools/campuses/addresses/_addresses.html.slim +24 -0
  221. data/app/views/gaku/admin/schools/campuses/addresses/_fields.html.slim +7 -0
  222. data/app/views/gaku/admin/schools/campuses/addresses/_form.html.slim +3 -0
  223. data/app/views/gaku/admin/schools/campuses/addresses/_form_fields.html.slim +26 -0
  224. data/app/views/gaku/admin/schools/campuses/addresses/_modal.html.slim +5 -0
  225. data/app/views/gaku/admin/schools/campuses/addresses/create.js.erb +6 -0
  226. data/app/views/gaku/admin/schools/campuses/addresses/destroy.js.erb +2 -0
  227. data/app/views/gaku/admin/schools/campuses/addresses/edit.js.erb +4 -0
  228. data/app/views/gaku/admin/schools/campuses/addresses/new.js.erb +4 -0
  229. data/app/views/gaku/admin/schools/campuses/addresses/update.js.erb +4 -0
  230. data/app/views/gaku/admin/schools/campuses/contacts/_contact.html.slim +3 -0
  231. data/app/views/gaku/admin/schools/campuses/contacts/_contacts.html.slim +22 -0
  232. data/app/views/gaku/admin/schools/campuses/contacts/_delete_link.html.slim +1 -0
  233. data/app/views/gaku/admin/schools/campuses/contacts/_fields.html.slim +12 -0
  234. data/app/views/gaku/admin/schools/campuses/contacts/_form.html.slim +3 -0
  235. data/app/views/gaku/admin/schools/campuses/contacts/_form_fields.html.slim +14 -0
  236. data/app/views/gaku/admin/schools/campuses/contacts/_modal.html.slim +5 -0
  237. data/app/views/gaku/admin/schools/campuses/contacts/_primary_field.html.slim +13 -0
  238. data/app/views/gaku/admin/schools/campuses/contacts/create.js.erb +20 -0
  239. data/app/views/gaku/admin/schools/campuses/contacts/destroy.js.erb +8 -0
  240. data/app/views/gaku/admin/schools/campuses/contacts/edit.js.erb +4 -0
  241. data/app/views/gaku/admin/schools/campuses/contacts/make_primary.js.erb +6 -0
  242. data/app/views/gaku/admin/schools/campuses/contacts/new.js.erb +3 -0
  243. data/app/views/gaku/admin/schools/campuses/contacts/soft_delete.js.erb +8 -0
  244. data/app/views/gaku/admin/schools/campuses/contacts/update.js.erb +14 -0
  245. data/app/views/gaku/admin/schools/campuses/create.js.erb +9 -0
  246. data/app/views/gaku/admin/schools/campuses/destroy.js.erb +2 -0
  247. data/app/views/gaku/admin/schools/campuses/edit.html.slim +19 -0
  248. data/app/views/gaku/admin/schools/campuses/new.js.erb +3 -0
  249. data/app/views/gaku/admin/schools/campuses/show.html.slim +13 -0
  250. data/app/views/gaku/admin/schools/create.js.erb +7 -0
  251. data/app/views/gaku/admin/schools/destroy.js.erb +1 -0
  252. data/app/views/gaku/admin/schools/edit.html.slim +19 -0
  253. data/app/views/gaku/admin/schools/edit_master.html.slim +22 -0
  254. data/app/views/gaku/admin/schools/index.html.slim +25 -0
  255. data/app/views/gaku/admin/schools/new.js.erb +3 -0
  256. data/app/views/gaku/admin/schools/programs/_fields.html.slim +10 -0
  257. data/app/views/gaku/admin/schools/programs/_form.html.slim +14 -0
  258. data/app/views/gaku/admin/schools/programs/_form_fields.html.slim +6 -0
  259. data/app/views/gaku/admin/schools/programs/_modal.html.slim +3 -0
  260. data/app/views/gaku/admin/schools/programs/_program.html.slim +2 -0
  261. data/app/views/gaku/admin/schools/programs/_programs.html.slim +23 -0
  262. data/app/views/gaku/admin/schools/programs/create.js.erb +7 -0
  263. data/app/views/gaku/admin/schools/programs/destroy.js.erb +2 -0
  264. data/app/views/gaku/admin/schools/programs/edit.js.erb +3 -0
  265. data/app/views/gaku/admin/schools/programs/new.js.erb +3 -0
  266. data/app/views/gaku/admin/schools/programs/program_levels/_form_fields.html.slim +6 -0
  267. data/app/views/gaku/admin/schools/programs/program_levels/_modal.html.slim +11 -0
  268. data/app/views/gaku/admin/schools/programs/program_specialties/_form_fields.html.slim +7 -0
  269. data/app/views/gaku/admin/schools/programs/program_specialties/_modal.html.slim +10 -0
  270. data/app/views/gaku/admin/schools/programs/program_syllabuses/_form_fields.html.slim +5 -0
  271. data/app/views/gaku/admin/schools/programs/program_syllabuses/_modal.html.slim +10 -0
  272. data/app/views/gaku/admin/schools/programs/show_program_levels.js.erb +3 -0
  273. data/app/views/gaku/admin/schools/programs/show_program_specialties.js.erb +3 -0
  274. data/app/views/gaku/admin/schools/programs/show_program_syllabuses.js.erb +3 -0
  275. data/app/views/gaku/admin/schools/programs/update.js.erb +3 -0
  276. data/app/views/gaku/admin/schools/show.html.slim +13 -0
  277. data/app/views/gaku/admin/schools/show_master.html.slim +14 -0
  278. data/app/views/gaku/admin/shared/_picture.html.slim +6 -0
  279. data/app/views/gaku/admin/shared/_upload_picture.html.slim +7 -0
  280. data/app/views/gaku/admin/specialties/_fields.html.slim +7 -0
  281. data/app/views/gaku/admin/specialties/_form.html.slim +3 -0
  282. data/app/views/gaku/admin/specialties/_form_fields.html.slim +4 -0
  283. data/app/views/gaku/admin/specialties/_modal.html.slim +4 -0
  284. data/app/views/gaku/admin/specialties/_specialty.html.slim +2 -0
  285. data/app/views/gaku/admin/specialties/create.js.erb +7 -0
  286. data/app/views/gaku/admin/specialties/destroy.js.erb +2 -0
  287. data/app/views/gaku/admin/specialties/edit.js.erb +3 -0
  288. data/app/views/gaku/admin/specialties/index.html.slim +21 -0
  289. data/app/views/gaku/admin/specialties/new.js.erb +3 -0
  290. data/app/views/gaku/admin/specialties/update.js.erb +3 -0
  291. data/app/views/gaku/admin/states/_country_select_form.html.slim +4 -0
  292. data/app/views/gaku/admin/states/_country_table.html.slim +11 -0
  293. data/app/views/gaku/admin/states/_fields.html.slim +8 -0
  294. data/app/views/gaku/admin/states/_form.html.slim +4 -0
  295. data/app/views/gaku/admin/states/_form_fields.html.slim +14 -0
  296. data/app/views/gaku/admin/states/_modal.html.slim +4 -0
  297. data/app/views/gaku/admin/states/_state.html.slim +2 -0
  298. data/app/views/gaku/admin/states/country_states.js.erb +2 -0
  299. data/app/views/gaku/admin/states/create.js.erb +7 -0
  300. data/app/views/gaku/admin/states/destroy.js.erb +2 -0
  301. data/app/views/gaku/admin/states/edit.js.erb +3 -0
  302. data/app/views/gaku/admin/states/index.html.slim +15 -0
  303. data/app/views/gaku/admin/states/new.js.erb +3 -0
  304. data/app/views/gaku/admin/states/update.js.erb +3 -0
  305. data/app/views/gaku/admin/system_tools/index.html.slim +1 -0
  306. data/app/views/gaku/admin/templates/_error_msg.html.slim +8 -0
  307. data/app/views/gaku/admin/templates/_fields.html.slim +8 -0
  308. data/app/views/gaku/admin/templates/_form.html.slim +3 -0
  309. data/app/views/gaku/admin/templates/_form_fields.html.slim +4 -0
  310. data/app/views/gaku/admin/templates/_modal.html.slim +4 -0
  311. data/app/views/gaku/admin/templates/_template.html.slim +2 -0
  312. data/app/views/gaku/admin/templates/destroy.js.erb +2 -0
  313. data/app/views/gaku/admin/templates/edit.html.slim +1 -0
  314. data/app/views/gaku/admin/templates/index.html.slim +20 -0
  315. data/app/views/gaku/admin/templates/new.html.slim +1 -0
  316. data/app/views/gaku/admin/users/_fields.html.slim +5 -0
  317. data/app/views/gaku/admin/users/_form.html.slim +3 -0
  318. data/app/views/gaku/admin/users/_form_fields.html.slim +14 -0
  319. data/app/views/gaku/admin/users/_modal.html.slim +4 -0
  320. data/app/views/gaku/admin/users/_user.html.slim +2 -0
  321. data/app/views/gaku/admin/users/create.js.erb +7 -0
  322. data/app/views/gaku/admin/users/destroy.js.erb +2 -0
  323. data/app/views/gaku/admin/users/edit.js.erb +3 -0
  324. data/app/views/gaku/admin/users/index.html.slim +21 -0
  325. data/app/views/gaku/admin/users/new.js.erb +3 -0
  326. data/app/views/gaku/admin/users/update.js.erb +4 -0
  327. data/app/views/gaku/layouts/admin/edit.html.slim +10 -0
  328. data/app/views/gaku/layouts/admin/gaku.html.slim +27 -0
  329. data/app/views/gaku/layouts/admin/index.html.slim +12 -0
  330. data/app/views/gaku/layouts/admin/show.html.slim +10 -0
  331. data/app/views/gaku/shared/_delete_link.html.slim +1 -0
  332. data/app/views/gaku/shared/_delete_modal.html.slim +11 -0
  333. data/app/views/gaku/shared/_errors.html.slim +6 -0
  334. data/app/views/gaku/shared/_flash.html.slim +4 -0
  335. data/app/views/gaku/shared/_language_bar.html.slim +8 -0
  336. data/app/views/gaku/shared/_login_widget.html.slim +15 -0
  337. data/app/views/gaku/shared/_manage_buttons.html.slim +4 -0
  338. data/app/views/gaku/shared/_modal_config.html.slim +37 -0
  339. data/app/views/gaku/shared/_multi_errors.html.slim +6 -0
  340. data/app/views/gaku/shared/_picture.html.slim +8 -0
  341. data/app/views/gaku/shared/_upload_picture.html.slim +7 -0
  342. data/app/views/gaku/shared/error.js.erb +2 -0
  343. data/app/views/gaku/shared/menu/_admin.html.erb +71 -0
  344. data/app/views/gaku/shared/multi_error.js.erb +2 -0
  345. data/app/views/gaku/shared/notice.js.erb +2 -0
  346. data/app/views/gaku/states/_no_states_select.html.slim +1 -0
  347. data/app/views/gaku/states/_states_select.html.slim +1 -0
  348. data/app/views/gaku/states/index.js.erb +5 -0
  349. data/config/initializers/client_side_validations.rb +9 -0
  350. data/config/initializers/wrap_parameters.rb +14 -0
  351. data/config/routes.rb +67 -0
  352. data/lib/gaku/admin/engine.rb +30 -0
  353. data/lib/gaku/admin.rb +31 -0
  354. data/lib/gaku/app_responder.rb +6 -0
  355. data/lib/gaku_admin.rb +1 -0
  356. data/lib/tasks/admin_user.rake +104 -0
  357. data/lib/tasks/core.rake +65 -0
  358. data/lib/tasks/reset.rake +37 -0
  359. metadata +684 -0
@@ -0,0 +1,79 @@
1
+ module Gaku
2
+ class Admin::Schools::ProgramsController < Admin::BaseController
3
+
4
+ respond_to :js, only: %i( new create destroy edit update show_program_levels show_program_specialties show_program_syllabuses )
5
+
6
+ before_action :set_school
7
+ before_action :set_program, only: %i( show_program_levels show_program_specialties show_program_syllabuses destroy edit show update )
8
+ before_action :load_data, only: %i( new edit )
9
+
10
+ def new
11
+ @program = Program.new
12
+ respond_with @program
13
+ end
14
+
15
+ def create
16
+ @program = Program.new(program_params)
17
+ @program.save
18
+ @school.programs << @program
19
+ set_count
20
+ respond_with @program
21
+ end
22
+
23
+ def edit
24
+ end
25
+
26
+ def update
27
+ @program.update(program_params)
28
+ respond_with @program
29
+ end
30
+
31
+ def destroy
32
+ @program.destroy
33
+ set_count
34
+ respond_with @program
35
+ end
36
+
37
+ def show_program_levels
38
+ end
39
+
40
+ def show_program_specialties
41
+ end
42
+
43
+ def show_program_syllabuses
44
+ end
45
+
46
+ private
47
+
48
+ def program_params
49
+ params.require(:program).permit(attributes)
50
+ end
51
+
52
+ def attributes
53
+ #permit :id for update nested attributes
54
+ [:id, :name, :description,
55
+ { program_specialties_attributes: [:id, :specialty_id, :_destroy] },
56
+ { program_levels_attributes: [:id, :level_id, :_destroy] },
57
+ { program_syllabuses_attributes: [:id, :syllabus_id, :_destroy] }]
58
+ end
59
+
60
+ def load_data
61
+ @levels = Level.all
62
+ @syllabuses = Syllabus.all
63
+ @specialties = Specialty.all
64
+ end
65
+
66
+ def set_program
67
+ @program = Program.find(params[:id])
68
+ end
69
+
70
+ def set_school
71
+ @school = School.find(params[:school_id])
72
+ end
73
+
74
+ def set_count
75
+ @count = @school.programs.count
76
+ end
77
+
78
+ end
79
+ end
@@ -0,0 +1,84 @@
1
+ module Gaku
2
+ class Admin::SchoolsController < Admin::BaseController
3
+
4
+ respond_to :js, only: %i( new create destroy )
5
+ respond_to :html, only: %i( index edit edit_master update update_master show show_master )
6
+
7
+ before_action :set_school, only: %i( edit show update destroy )
8
+ before_action :set_master_school, only: %i( show_master edit_master update_master )
9
+
10
+ def show_master
11
+ respond_with @school
12
+ end
13
+
14
+ def edit_master
15
+ respond_with @school
16
+ end
17
+
18
+ def destroy
19
+ @school.destroy
20
+ set_count
21
+ respond_with @school
22
+ end
23
+
24
+ def new
25
+ @school = School.new
26
+ respond_with @school
27
+ end
28
+
29
+ def create
30
+ @school = School.new(school_params)
31
+ @school.save
32
+ set_count
33
+ respond_with @school
34
+ end
35
+
36
+ def edit
37
+ respond_with @school
38
+ end
39
+
40
+ def show
41
+ respond_with @school
42
+ end
43
+
44
+ def update
45
+ @school.update(school_params)
46
+ respond_with @school, location: [:edit, :admin, @school]
47
+ end
48
+
49
+ def update_master
50
+ @school.update(school_params)
51
+ respond_with @school, location: admin_school_details_edit_path
52
+ end
53
+
54
+ def index
55
+ @schools = School.all
56
+ set_count
57
+ respond_with @schools
58
+ end
59
+
60
+ private
61
+
62
+ def school_params
63
+ params.require(:school).permit(attributes)
64
+ end
65
+
66
+ def attributes
67
+ [:name, :primary, :slogan, :description, :founded, :principal, :vice_principal, :grades, :code, { levels_attributes: [ :name, :'_destroy', :id ] }, :picture ]
68
+ end
69
+
70
+ def set_school
71
+ @school = School.find(params[:id])
72
+ end
73
+
74
+ def set_count
75
+ @count = School.count
76
+ end
77
+
78
+ def set_master_school
79
+ @school = School.primary
80
+ end
81
+
82
+ end
83
+
84
+ end
@@ -0,0 +1,63 @@
1
+ module Gaku
2
+ class Admin::SpecialtiesController < Admin::BaseController
3
+
4
+ #load_and_authorize_resource class: Specialty
5
+
6
+ respond_to :js, only: %i( new create edit update destroy )
7
+ respond_to :html, only: :index
8
+
9
+ before_action :set_specialty, only: %i( edit update destroy )
10
+ before_action :load_data, only: %i( new edit )
11
+
12
+ def index
13
+ @specialties = Specialty.all
14
+ @count = Specialty.count
15
+ respond_with @specialtys
16
+ end
17
+
18
+ def new
19
+ @specialty = Specialty.new
20
+ respond_with @specialty
21
+ end
22
+
23
+ def create
24
+ @specialty = Specialty.new(specialty_params)
25
+ @specialty.save
26
+ @count = Specialty.count
27
+ respond_with @specialty
28
+ end
29
+
30
+ def edit
31
+ end
32
+
33
+ def update
34
+ @specialty.update(specialty_params)
35
+ respond_with @specialty
36
+ end
37
+
38
+ def destroy
39
+ @specialty.destroy
40
+ @count = Specialty.count
41
+ respond_with @specialty
42
+ end
43
+
44
+ private
45
+
46
+ def set_specialty
47
+ @specialty = Specialty.find(params[:id])
48
+ end
49
+
50
+ def load_data
51
+ @departments = Department.all
52
+ end
53
+
54
+ def specialty_params
55
+ params.require(:specialty).permit(attributes)
56
+ end
57
+
58
+ def attributes
59
+ %i(name description major_only department_id)
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,92 @@
1
+ module Gaku
2
+ module Admin
3
+ class StatesController < Admin::BaseController
4
+
5
+ #load_and_authorize_resource class: State
6
+
7
+ respond_to :js, only: %i( new create edit update destroy country_states )
8
+ respond_to :html, only: %i( index edit update )
9
+
10
+ before_action :set_state, only: %i( edit show update destroy )
11
+ before_action :set_countries
12
+
13
+ def country_states
14
+ if params[:state][:country_iso].empty?
15
+ @country = set_default_country
16
+ set_count @country
17
+ if @country
18
+ respond_with @country
19
+ else
20
+ render nothing: true
21
+ end
22
+ else
23
+ @country = Country.where(iso: params[:state][:country_iso]).first
24
+ @states = @country.states
25
+ set_count @country
26
+ respond_with @country
27
+ end
28
+ end
29
+
30
+ def destroy
31
+ @state.destroy
32
+ respond_with @state
33
+ end
34
+
35
+ def new
36
+ @state = State.new
37
+ respond_with @state
38
+ end
39
+
40
+ def create
41
+ @state = State.new(state_params)
42
+ @state.save
43
+ respond_with @state
44
+ end
45
+
46
+ def edit
47
+ end
48
+
49
+ def update
50
+ @state.update(state_params)
51
+ respond_with @state
52
+ end
53
+
54
+ def index
55
+ @country = set_default_country
56
+ set_count @country
57
+ respond_with @country
58
+ end
59
+
60
+ private
61
+
62
+ def state_params
63
+ params.require(:state).permit(attributes)
64
+ end
65
+
66
+ def attributes
67
+ %i( name abbr name_ascii code country_iso )
68
+ end
69
+
70
+ def set_state
71
+ @state = State.find(params[:id])
72
+ end
73
+
74
+ def set_countries
75
+ @countries = Country.all
76
+ end
77
+
78
+ def set_count(object)
79
+ @count = object.states.count unless object.nil?
80
+ end
81
+
82
+ def country_preset
83
+ Preset.address('country')
84
+ end
85
+
86
+ def set_default_country
87
+ Country.where(iso: country_preset).first
88
+ end
89
+
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,8 @@
1
+ module Gaku
2
+ class Admin::SystemToolsController < Admin::BaseController
3
+
4
+ def index
5
+ end
6
+
7
+ end
8
+ end
@@ -0,0 +1,72 @@
1
+ module Gaku
2
+ module Admin
3
+ class TemplatesController < Admin::BaseController
4
+
5
+ responders :collection
6
+
7
+ respond_to :js, only: %i( destroy )
8
+ respond_to :html, only: %i( new edit index update create )
9
+
10
+ before_action :set_template, only: %i( download edit update destroy )
11
+
12
+ def new
13
+ @template = Template.new
14
+ end
15
+
16
+ def create
17
+ @template = Template.new(template_params)
18
+ if @template.save
19
+ set_count
20
+ respond_with @template, location: admin_templates_path
21
+ else
22
+ render :new
23
+ end
24
+ end
25
+
26
+ def edit
27
+ respond_with @template
28
+ end
29
+
30
+ def update
31
+ @template.update(template_params)
32
+ respond_with @template, location: admin_templates_path
33
+ end
34
+
35
+ def download
36
+ send_file @template.file.path
37
+ end
38
+
39
+ def index
40
+ @templates = Template.all
41
+ set_count
42
+ respond_with @templates
43
+ end
44
+
45
+ def destroy
46
+ @template.destroy
47
+ set_count
48
+ respond_with @template
49
+ end
50
+
51
+ private
52
+
53
+ def set_count
54
+ @count = Template.count
55
+ end
56
+
57
+ def set_template
58
+ @template = Template.find(params[:id])
59
+ end
60
+
61
+ def template_params
62
+ params.require(:template).permit(attributes)
63
+ end
64
+
65
+ def attributes
66
+ %i( name context locked file )
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+ end
@@ -0,0 +1,82 @@
1
+ module Gaku
2
+ class Admin::UsersController < Admin::BaseController
3
+
4
+ #load_and_authorize_resource class: User
5
+
6
+ respond_to :js, only: %i( new create edit update destroy )
7
+ respond_to :html, only: :index
8
+
9
+ before_action :set_user, only: %i( edit update destroy )
10
+ before_action :set_roles
11
+
12
+ def index
13
+ @users = User.all.page(params[:page])
14
+ @count = User.count
15
+ respond_with @users
16
+ end
17
+
18
+ def new
19
+ @user = User.new
20
+ respond_with @user
21
+ end
22
+
23
+ def create
24
+ @user = User.new(user_params)
25
+ @user.save
26
+ save_user_roles
27
+ @count = User.count
28
+ respond_with @user
29
+ end
30
+
31
+ def edit
32
+ end
33
+
34
+ def update
35
+ clean_password
36
+ save_user_roles
37
+ @user.update(user_params)
38
+ respond_with @user
39
+ end
40
+
41
+ def destroy
42
+ @user.destroy
43
+ @count = User.count
44
+ respond_with @user
45
+ end
46
+
47
+ private
48
+
49
+ def set_user
50
+ @user = User.find(params[:id])
51
+ end
52
+
53
+ def user_params
54
+ params.require(:user).permit(attributes)
55
+ end
56
+
57
+ def attributes
58
+ [:login, :username, :email, :password, :password_confirmation, :remember_me, :locale, { role_ids: [] } ]
59
+ end
60
+
61
+ def set_roles
62
+ @roles = Role.all
63
+ end
64
+
65
+ def save_user_roles
66
+ if params[:user][:role_ids]
67
+ @user.roles.destroy_all
68
+ Role.all.each do |role|
69
+ if params[:user][:role_ids].include?(role.id.to_s)
70
+ @user.roles << role
71
+ end
72
+ end
73
+ end
74
+ end
75
+
76
+ def clean_password
77
+ params[:user].delete(:password) if params[:user][:password].blank?
78
+ params[:user].delete(:password_confirmation) if params[:user][:password_confirmation].blank?
79
+ end
80
+
81
+ end
82
+ end
@@ -0,0 +1,17 @@
1
+ module Gaku
2
+ class StatesController < CoreController
3
+ respond_to :js, :json
4
+
5
+ def index
6
+ if params[:country_id]
7
+ @country = Country.find(params[:country_id])
8
+ @states = State.where(country_iso: @country.iso)
9
+ .order('name asc')
10
+ else
11
+ @states = State.all
12
+ end
13
+
14
+ respond_with @states
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ module Gaku
2
+ module AdminHelper
3
+
4
+ include Gaku::PresetsHelper
5
+ include Gaku::SharedHelper
6
+
7
+ def nested_header(text)
8
+ content_tag :h4, text
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ module Gaku
2
+ module PresetsHelper
3
+
4
+ def preset_checked?(field)
5
+ chooser_preset ||= Gaku::Preset.active.chooser_fields
6
+ chooser_preset[field.to_s].to_i == 1 rescue true
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ module Gaku
2
+ module SharedHelper
3
+
4
+ def can_edit?
5
+ %w( edit create update ).include? controller.action_name
6
+ end
7
+
8
+ def genders
9
+ { t(:'gender.female') => false, t(:'gender.male') => true }
10
+ end
11
+
12
+ def state_load(object)
13
+ object.country.nil? ? Gaku::State.none : object.country.states
14
+ end
15
+
16
+ def disabled?(object)
17
+ object.new_record? || object.country.states.blank?
18
+ end
19
+
20
+ def render_flash
21
+ escape_javascript(render 'gaku/shared/flash', flash: flash)
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,6 @@
1
+ Deface::Override.new(:virtual_path => "gaku/shared/menu/_global",
2
+ :name => "admin_menu",
3
+ :insert_bottom => "[data-hook='menu']",
4
+ :partial => "gaku/shared/menu/admin",
5
+ :disabled => false
6
+ )
@@ -0,0 +1,8 @@
1
+ td = simple_grade_type.name
2
+ td = simple_grade_type.max_score
3
+ td = simple_grade_type.passing_score
4
+ td = simple_grade_type.school
5
+ td = simple_grade_type.grading_method
6
+ td
7
+ = ajax_link_to_edit [:edit, :admin, simple_grade_type]
8
+ = ajax_link_to_delete [:admin, simple_grade_type]
@@ -0,0 +1,3 @@
1
+ = remote_form_for [:admin, @simple_grade_type], resource: 'admin-simple-grade-type' do |f|
2
+ = render 'form_fields', f: f
3
+ = buttons_for @simple_grade_type, resource: 'admin-simple-grade-type'
@@ -0,0 +1,7 @@
1
+ = f.text_field :name, label: t(:'simple_grade_type.name')
2
+ = f.number_field :max_score, label: t(:'simple_grade_type.max_score')
3
+ = f.number_field :passing_score, label: t(:'simple_grade_type.passing_score')
4
+
5
+
6
+ = f.select :school_id, options_from_collection_for_select(@schools, :id, :name), {prompt: t(:'school.choose')}, label: t(:'school.plural')
7
+ = f.select :grading_method_id, options_from_collection_for_select(@grading_methods, :id, :name), {prompt: t(:'grading_method.choose')}, label: t(:'grading_method.plural')
@@ -0,0 +1,4 @@
1
+ = modal_for 'edit-simple-grade-type-modal' do
2
+ = modal_form_for [:admin, @simple_grade_type], resource: 'admin-simple-grade-type' do |f|
3
+ = render 'form_fields', f: f
4
+ = buttons_for @simple_grade_type, resource: 'admin-simple-grade-type'
@@ -0,0 +1,2 @@
1
+ = tr_for simple_grade_type
2
+ = render 'fields', simple_grade_type: simple_grade_type
@@ -0,0 +1,7 @@
1
+ $('#admin-simple-grade-types-index tbody').append('<%= j render("simple_grade_type", {simple_grade_type: @simple_grade_type}) %>');
2
+
3
+ $('#new-admin-simple-grade-type').slide();
4
+ $('#new-admin-simple-grade-type-link').show();
5
+
6
+ $('.admin-simple-grade-types-count').html("<%= print_count(@count, t(:'simple_grade_type.list')) %>");
7
+ showNotice("<%= render_flash %>");
@@ -0,0 +1,2 @@
1
+ $('.admin-simple-grade-types-count').html("<%= print_count(@count , t(:'simple_grade_type.list')) %>");
2
+ showNotice("<%= render_flash %>");
@@ -0,0 +1,3 @@
1
+ $('#modal-dialogs').html('<%= j render("modal", {simple_grade_type: @simple_grade_type}) %>');
2
+ $('#edit-simple-grade-type-modal').modal('show');
3
+ $('.normal-form').enableValidations();
@@ -0,0 +1,23 @@
1
+ = content_for :index_header do
2
+ .pull-left
3
+ = count_div 'admin-simple-grade-types-count' do
4
+ = print_count @count, t(:'simple_grade_type.list')
5
+ .pull-right
6
+ = ajax_link_to_new t(:'simple_grade_type.add'), [:new, :admin, :simple_grade_type], id: 'new-admin-simple-grade-type-link'
7
+
8
+ = content_for :new_form do
9
+ #new-admin-simple-grade-type.d-none
10
+
11
+ #admin-simple-grade-types
12
+ = table_for 'admin-simple-grade-types-index' do
13
+ thead
14
+ tr
15
+ = th t(:'simple_grade_type.singular')
16
+ = th t(:'simple_grade_type.max_score')
17
+ = th t(:'simple_grade_type.passing_score')
18
+ = th t(:'school.singular')
19
+ = th t(:'grading_method.singular')
20
+ = th_actions 2
21
+ tbody
22
+ = render partial: 'gaku/admin/achievements/simple_grade_types/simple_grade_type', collection: @simple_grade_types, as: :simple_grade_type
23
+
@@ -0,0 +1,3 @@
1
+ $('#new-admin-simple-grade-type').html('<%= j render("form") %>').slide();
2
+ $('#new-admin-simple-grade-type-link').hide();
3
+ $('.remote-form').enableValidations();
@@ -0,0 +1,4 @@
1
+ $('tr#simple-grade-type-<%= @simple_grade_type.id %>').html('<%= j render("fields", {simple_grade_type: @simple_grade_type}) %>');
2
+ $("#edit-simple-grade-type-modal").modal("hide");
3
+ showNotice("<%= render_flash %>");
4
+
@@ -0,0 +1,2 @@
1
+ tr id="attendance-type-#{attendance_type.id}"
2
+ = render 'fields', attendance_type: attendance_type
@@ -0,0 +1,9 @@
1
+ td = attendance_type.name
2
+ td = color_code attendance_type.color_code
3
+ td = attendance_type.credit_rate
4
+ td = boolean_image attendance_type.counted_absent
5
+ td = boolean_image attendance_type.disable_credit
6
+ td = boolean_image attendance_type.auto_credit
7
+ td
8
+ = ajax_link_to_edit [:edit, :admin, attendance_type]
9
+ = ajax_link_to_delete [:admin, attendance_type]
@@ -0,0 +1,3 @@
1
+ = remote_form_for [:admin, @attendance_type], resource: 'admin-attendance-type' do |f|
2
+ = render 'form_fields', f: f
3
+ = buttons_for @attendance_type, resource: 'admin-attendance-type'
@@ -0,0 +1,6 @@
1
+ = f.text_field :name, label: t(:'attendance_type.name')
2
+ = f.text_field :color_code, label: t(:'attendance_type.color_code')
3
+ = f.text_field :credit_rate, label: t(:'attendance_type.credit_rate')
4
+ = f.check_box :counted_absent, label: t(:'attendance_type.counted_absent')
5
+ = f.check_box :disable_credit, label: t(:'attendance_type.disable_credit')
6
+ = f.check_box :auto_credit, label: t(:'attendance_type.auto_credit')
@@ -0,0 +1,4 @@
1
+ = modal_for 'edit-attendance-type-modal' do
2
+ = modal_form_for [:admin, @attendance_type], resource: 'admin-attendance-type' do |f|
3
+ = render 'form_fields', f: f
4
+ = buttons_for @attendance_type, resource: 'admin-attendance-type'