fat_free_crm 0.11.3 → 0.11.4

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.

Potentially problematic release.


This version of fat_free_crm might be problematic. Click here for more details.

Files changed (637) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +2 -2
  3. data/CHANGELOG +6 -1
  4. data/CONTRIBUTORS +40 -1
  5. data/Capfile +5 -0
  6. data/Gemfile +25 -6
  7. data/Gemfile.lock +128 -86
  8. data/README.md +23 -16
  9. data/{vendor → app}/assets/images/delete.png +0 -0
  10. data/app/assets/javascripts/admin/fields.js.coffee +62 -0
  11. data/app/assets/javascripts/application.js.erb +8 -1
  12. data/app/assets/javascripts/crm.js +44 -46
  13. data/app/assets/javascripts/crm_chosen.js.coffee +10 -7
  14. data/app/assets/javascripts/datepicker.js.coffee +15 -0
  15. data/app/assets/javascripts/format_buttons.js.coffee +48 -0
  16. data/app/assets/javascripts/{admin/field_groups.js.coffee → groups.js.coffee} +0 -0
  17. data/app/assets/javascripts/lists.js.coffee +1 -1
  18. data/app/assets/javascripts/search.js.coffee +56 -38
  19. data/app/assets/stylesheets/admin/{field_groups.css.scss → fields.css.scss} +4 -0
  20. data/app/assets/stylesheets/advanced_search.css.scss +79 -0
  21. data/app/assets/stylesheets/application.css.erb +4 -0
  22. data/app/assets/stylesheets/base.scss +3 -3
  23. data/app/assets/stylesheets/common.scss +72 -25
  24. data/app/assets/stylesheets/fields.scss +14 -0
  25. data/app/assets/stylesheets/format_buttons.css.scss +30 -0
  26. data/app/assets/stylesheets/groups.css.scss +3 -0
  27. data/app/assets/stylesheets/header.scss +7 -6
  28. data/{vendor/plugins/.gitkeep → app/assets/stylesheets/index_headers.css.scss} +0 -0
  29. data/app/assets/stylesheets/print.css.scss +12 -3
  30. data/app/assets/stylesheets/rails.scss +12 -3
  31. data/app/controllers/admin/application_controller.rb +1 -1
  32. data/app/controllers/admin/field_groups_controller.rb +2 -0
  33. data/app/controllers/admin/fields_controller.rb +41 -17
  34. data/app/controllers/admin/groups_controller.rb +70 -0
  35. data/app/controllers/admin/tags_controller.rb +1 -0
  36. data/app/controllers/admin/users_controller.rb +8 -7
  37. data/app/controllers/application_controller.rb +34 -5
  38. data/app/controllers/comments_controller.rb +2 -3
  39. data/app/controllers/entities/accounts_controller.rb +30 -37
  40. data/app/controllers/entities/campaigns_controller.rb +56 -29
  41. data/app/controllers/entities/contacts_controller.rb +24 -26
  42. data/app/controllers/entities/leads_controller.rb +38 -37
  43. data/app/controllers/entities/opportunities_controller.rb +28 -34
  44. data/app/controllers/entities_controller.rb +71 -43
  45. data/app/controllers/home_controller.rb +29 -27
  46. data/app/controllers/tasks_controller.rb +18 -17
  47. data/app/controllers/users_controller.rb +12 -8
  48. data/app/helpers/accounts_helper.rb +58 -16
  49. data/app/helpers/addresses_helper.rb +4 -1
  50. data/app/helpers/admin/fields_helper.rb +3 -4
  51. data/app/helpers/application_helper.rb +147 -100
  52. data/app/helpers/campaigns_helper.rb +2 -9
  53. data/app/helpers/fields_helper.rb +0 -1
  54. data/app/helpers/groups_helper.rb +2 -0
  55. data/app/helpers/home_helper.rb +11 -0
  56. data/app/helpers/leads_helper.rb +2 -9
  57. data/app/helpers/opportunities_helper.rb +2 -9
  58. data/app/helpers/{crm_tags_helper.rb → tags_helper.rb} +9 -8
  59. data/app/helpers/tasks_helper.rb +5 -21
  60. data/app/helpers/users_helper.rb +14 -7
  61. data/app/helpers/versions_helper.rb +46 -0
  62. data/app/inputs/date_time_input.rb +8 -25
  63. data/app/inputs/datepair_input.rb +77 -0
  64. data/app/inputs/datetimepair_input.rb +37 -0
  65. data/app/mailers/user_mailer.rb +10 -0
  66. data/app/models/entities/account.rb +18 -11
  67. data/app/models/entities/account_contact.rb +4 -3
  68. data/app/models/entities/account_opportunity.rb +0 -1
  69. data/app/models/entities/campaign.rb +6 -7
  70. data/app/models/entities/contact.rb +53 -25
  71. data/app/models/entities/contact_opportunity.rb +0 -1
  72. data/app/models/entities/lead.rb +24 -13
  73. data/app/models/entities/opportunity.rb +34 -16
  74. data/app/models/fields/custom_field.rb +29 -13
  75. data/app/models/fields/custom_field_date_pair.rb +58 -0
  76. data/app/models/fields/custom_field_datetime_pair.rb +28 -0
  77. data/app/models/fields/custom_field_pair.rb +54 -0
  78. data/app/models/fields/field.rb +60 -43
  79. data/app/models/fields/field_group.rb +0 -9
  80. data/app/models/observers/entity_observer.rb +29 -0
  81. data/app/models/observers/opportunity_observer.rb +3 -0
  82. data/app/models/polymorphic/address.rb +14 -0
  83. data/app/models/polymorphic/avatar.rb +13 -1
  84. data/app/models/polymorphic/email.rb +1 -1
  85. data/app/models/polymorphic/task.rb +14 -13
  86. data/app/models/setting.rb +14 -21
  87. data/app/models/users/ability.rb +25 -4
  88. data/app/models/users/group.rb +13 -0
  89. data/app/models/users/permission.rb +3 -1
  90. data/app/models/users/preference.rb +1 -2
  91. data/app/models/users/user.rb +25 -3
  92. data/app/views/accounts/_account.html.haml +5 -39
  93. data/app/views/accounts/_edit.html.haml +3 -2
  94. data/app/views/accounts/_index_brief.html.haml +32 -0
  95. data/app/views/accounts/_index_long.html.haml +42 -0
  96. data/app/views/accounts/_new.html.haml +3 -2
  97. data/app/views/accounts/_sidebar_index.html.haml +3 -4
  98. data/app/views/accounts/_sidebar_show.html.haml +2 -2
  99. data/app/views/accounts/_title_bar.html.haml +11 -0
  100. data/app/views/accounts/_top_section.html.haml +1 -1
  101. data/app/views/accounts/create.js.rjs +1 -2
  102. data/app/views/accounts/destroy.js.rjs +1 -1
  103. data/app/views/accounts/edit.js.rjs +0 -2
  104. data/app/views/accounts/index.html.haml +6 -13
  105. data/app/views/accounts/index.js.rjs +3 -1
  106. data/app/views/accounts/index.xls.builder +82 -0
  107. data/app/views/accounts/new.js.rjs +0 -2
  108. data/app/views/accounts/show.html.haml +17 -15
  109. data/app/views/accounts/show.js.erb +2 -0
  110. data/app/views/admin/custom_fields/_base_field.html.haml +21 -0
  111. data/app/views/admin/custom_fields/_check_boxes_field.html.haml +6 -0
  112. data/app/views/admin/custom_fields/_date_field.html.haml +14 -0
  113. data/app/views/admin/custom_fields/_date_pair_field.html.haml +21 -0
  114. data/app/views/admin/custom_fields/_datetime_field.html.haml +14 -0
  115. data/app/views/admin/custom_fields/_datetime_pair_field.html.haml +21 -0
  116. data/app/views/admin/custom_fields/_radio_field.html.haml +6 -0
  117. data/app/views/admin/custom_fields/_select_field.html.haml +25 -0
  118. data/app/views/admin/custom_fields/_string_field.html.haml +2 -0
  119. data/app/views/admin/field_groups/_field_group.html.haml +7 -5
  120. data/app/views/admin/field_groups/_top_section.html.haml +4 -3
  121. data/app/views/admin/field_groups/create.js.rjs +1 -2
  122. data/app/views/admin/fields/_field.html.haml +5 -3
  123. data/app/views/admin/fields/_form.html.haml +35 -0
  124. data/app/views/admin/fields/_subform.html.haml +6 -0
  125. data/app/views/admin/fields/create.js.erb +19 -0
  126. data/app/views/admin/fields/destroy.js.erb +9 -0
  127. data/app/views/admin/fields/edit.js.erb +1 -0
  128. data/app/views/admin/fields/index.html.haml +11 -8
  129. data/app/views/admin/fields/update.js.erb +13 -0
  130. data/app/views/admin/groups/_edit.html.haml +12 -0
  131. data/app/views/admin/groups/_form.html.haml +13 -0
  132. data/app/views/admin/groups/_group.html.haml +15 -0
  133. data/app/views/admin/groups/_new.html.haml +12 -0
  134. data/app/views/admin/groups/create.js.rjs +11 -0
  135. data/app/views/admin/{fields → groups}/destroy.js.rjs +3 -3
  136. data/app/views/admin/groups/edit.js.rjs +21 -0
  137. data/app/views/admin/groups/index.html.haml +18 -0
  138. data/app/views/admin/groups/index.js.rjs +2 -0
  139. data/app/views/admin/groups/new.js.rjs +9 -0
  140. data/app/views/admin/groups/show.html.haml +11 -0
  141. data/app/views/admin/groups/update.js.rjs +10 -0
  142. data/app/views/admin/users/_profile.html.haml +13 -1
  143. data/app/views/admin/users/_user.html.haml +7 -2
  144. data/app/views/admin/users/index.js.rjs +1 -0
  145. data/app/views/application/index.atom.builder +1 -1
  146. data/app/views/application/index.rss.builder +1 -1
  147. data/app/views/application/show.atom.builder +32 -0
  148. data/app/views/application/show.rss.builder +29 -0
  149. data/app/views/campaigns/_campaign.html.haml +5 -21
  150. data/app/views/campaigns/_edit.html.haml +3 -2
  151. data/app/views/campaigns/_index_brief.html.haml +15 -0
  152. data/app/views/campaigns/_index_long.html.haml +20 -0
  153. data/app/views/campaigns/_new.html.haml +4 -2
  154. data/app/views/campaigns/_sidebar_index.html.haml +3 -3
  155. data/app/views/campaigns/_title_bar.html.haml +11 -0
  156. data/app/views/campaigns/_top_section.html.haml +2 -2
  157. data/app/views/campaigns/create.js.rjs +1 -4
  158. data/app/views/campaigns/destroy.js.rjs +1 -1
  159. data/app/views/campaigns/edit.js.rjs +0 -4
  160. data/app/views/campaigns/index.html.haml +6 -13
  161. data/app/views/campaigns/index.js.rjs +3 -1
  162. data/app/views/campaigns/index.xls.builder +75 -0
  163. data/app/views/campaigns/new.js.rjs +0 -4
  164. data/app/views/campaigns/show.html.haml +17 -15
  165. data/app/views/campaigns/show.js.erb +2 -0
  166. data/app/views/campaigns/update.js.rjs +0 -2
  167. data/app/views/comments/_comment.html.haml +6 -5
  168. data/app/views/comments/_edit.html.haml +5 -5
  169. data/app/views/comments/_new.html.haml +6 -5
  170. data/app/views/comments/create.js.rjs +1 -1
  171. data/app/views/contacts/_contact.html.haml +5 -52
  172. data/app/views/contacts/_contacts.html.haml +1 -0
  173. data/app/views/contacts/_edit.html.haml +3 -2
  174. data/app/views/contacts/_index_brief.html.haml +25 -0
  175. data/app/views/contacts/_index_full.html.haml +57 -0
  176. data/app/views/contacts/_index_long.html.haml +43 -0
  177. data/app/views/contacts/_new.html.haml +4 -2
  178. data/app/views/contacts/_section_extra.html.haml +26 -0
  179. data/app/views/contacts/_section_general.html.haml +22 -0
  180. data/app/views/contacts/_sidebar_index.html.haml +0 -3
  181. data/app/views/contacts/_sidebar_show.html.haml +2 -10
  182. data/app/views/contacts/_title_bar.html.haml +11 -0
  183. data/app/views/contacts/_top_section.html.haml +1 -1
  184. data/app/views/contacts/create.js.rjs +1 -2
  185. data/app/views/contacts/destroy.js.rjs +1 -1
  186. data/app/views/contacts/edit.js.rjs +0 -2
  187. data/app/views/contacts/index.html.haml +6 -14
  188. data/app/views/contacts/index.js.rjs +3 -1
  189. data/app/views/contacts/index.xls.builder +102 -0
  190. data/app/views/contacts/new.js.rjs +0 -2
  191. data/app/views/contacts/show.html.haml +15 -15
  192. data/app/views/contacts/show.js.erb +2 -0
  193. data/app/views/entities/_basic_search.html.haml +22 -0
  194. data/app/views/entities/_permissions.html.haml +41 -0
  195. data/app/views/entities/_search.html.haml +15 -0
  196. data/app/views/entities/_section_custom_fields.html.haml +11 -0
  197. data/app/views/entities/_title_bar.html.haml +12 -0
  198. data/app/views/entities/attach.js.rjs +1 -1
  199. data/app/views/entities/opportunities.js.rjs +1 -1
  200. data/app/views/entities/versions.js.erb +3 -0
  201. data/app/views/fields/_edit_custom_field_group.html.haml +8 -0
  202. data/app/views/fields/_group.html.haml +11 -20
  203. data/app/views/fields/_group_table.html.haml +13 -0
  204. data/app/views/fields/_group_view.html.haml +7 -0
  205. data/app/views/fields/_groups.html.haml +1 -4
  206. data/app/views/fields/_sidebar_show.html.haml +5 -4
  207. data/app/views/home/_account.html.haml +29 -0
  208. data/app/views/home/_activity.html.haml +16 -6
  209. data/app/views/home/_opportunity.html.haml +41 -0
  210. data/app/views/home/_options.html.haml +1 -1
  211. data/app/views/home/_task.html.haml +46 -0
  212. data/app/views/home/index.html.haml +32 -1
  213. data/app/views/home/index.js.rjs +1 -0
  214. data/app/views/layouts/_header.html.haml +3 -3
  215. data/app/views/layouts/_sidebar.html.haml +1 -3
  216. data/app/views/layouts/_tabbed.html.haml +2 -3
  217. data/app/views/layouts/_tabless.html.haml +1 -1
  218. data/app/views/layouts/admin/_header.html.haml +1 -1
  219. data/app/views/layouts/application.html.haml +7 -8
  220. data/app/views/layouts/header.xls.builder +8 -0
  221. data/app/views/leads/_contact.html.haml +1 -2
  222. data/app/views/leads/_convert.html.haml +1 -2
  223. data/app/views/leads/_convert_permissions.html.haml +21 -11
  224. data/app/views/leads/_edit.html.haml +3 -2
  225. data/app/views/leads/_index_brief.html.haml +41 -0
  226. data/app/views/leads/_index_long.html.haml +62 -0
  227. data/app/views/leads/_lead.html.haml +5 -62
  228. data/app/views/leads/_new.html.haml +4 -2
  229. data/app/views/leads/_opportunity.html.haml +1 -1
  230. data/app/views/leads/_sidebar_index.html.haml +3 -3
  231. data/app/views/leads/_sidebar_show.html.haml +3 -3
  232. data/app/views/leads/_status.html.haml +1 -1
  233. data/app/views/leads/_title_bar.html.haml +16 -0
  234. data/app/views/leads/convert.js.rjs +0 -1
  235. data/app/views/leads/create.js.rjs +1 -2
  236. data/app/views/leads/destroy.js.rjs +1 -1
  237. data/app/views/leads/edit.js.rjs +0 -2
  238. data/app/views/leads/index.html.haml +6 -13
  239. data/app/views/leads/index.js.rjs +3 -1
  240. data/app/views/leads/index.xls.builder +100 -0
  241. data/app/views/leads/new.js.rjs +0 -2
  242. data/app/views/leads/promote.js.rjs +0 -1
  243. data/app/views/leads/show.html.haml +13 -18
  244. data/app/views/leads/show.js.erb +2 -0
  245. data/app/views/{shared/_lists.html.haml → lists/_sidebar.html.haml} +0 -0
  246. data/app/views/lists/create.js.rjs +1 -1
  247. data/app/views/opportunities/_edit.html.haml +3 -2
  248. data/app/views/opportunities/_index_brief.html.haml +29 -0
  249. data/app/views/opportunities/_index_long.html.haml +59 -0
  250. data/app/views/opportunities/_new.html.haml +4 -2
  251. data/app/views/opportunities/_opportunity.html.haml +5 -57
  252. data/app/views/opportunities/_sidebar_index.html.haml +3 -3
  253. data/app/views/opportunities/_sidebar_show.html.haml +2 -2
  254. data/app/views/opportunities/_title_bar.html.haml +11 -0
  255. data/app/views/opportunities/_top_section.html.haml +2 -2
  256. data/app/views/opportunities/create.js.rjs +4 -6
  257. data/app/views/opportunities/destroy.js.rjs +1 -1
  258. data/app/views/opportunities/edit.js.rjs +0 -3
  259. data/app/views/opportunities/index.html.haml +6 -14
  260. data/app/views/opportunities/index.js.rjs +3 -1
  261. data/app/views/opportunities/index.xls.builder +69 -0
  262. data/app/views/opportunities/new.js.rjs +1 -5
  263. data/app/views/opportunities/show.html.haml +14 -14
  264. data/app/views/opportunities/show.js.erb +2 -0
  265. data/app/views/opportunities/update.js.rjs +0 -1
  266. data/app/views/passwords/new.html.haml +1 -1
  267. data/app/views/shared/_add_comment.html.haml +8 -0
  268. data/app/views/shared/_address.html.haml +1 -1
  269. data/app/views/shared/_address_show.html.haml +1 -1
  270. data/app/views/shared/_edit_comment.html.haml +2 -2
  271. data/app/views/shared/_export.html.haml +2 -1
  272. data/app/views/shared/_paginate_with_per_page.html.haml +14 -0
  273. data/app/views/shared/_recently.html.haml +1 -1
  274. data/app/views/shared/_search.html.haml +1 -1
  275. data/app/views/shared/_tags.html.haml +1 -2
  276. data/app/views/shared/_tasks.html.haml +2 -2
  277. data/app/views/tasks/_completed.html.haml +3 -3
  278. data/app/views/tasks/_new.html.haml +1 -1
  279. data/app/views/tasks/_pending.html.haml +2 -3
  280. data/app/views/tasks/_sidebar_index.html.haml +2 -2
  281. data/app/views/tasks/_top_section.html.haml +5 -3
  282. data/app/views/tasks/create.js.rjs +3 -4
  283. data/app/views/tasks/edit.js.rjs +2 -4
  284. data/app/views/tasks/index.html.haml +1 -1
  285. data/app/views/tasks/index.xls.builder +47 -0
  286. data/app/views/tasks/new.js.rjs +0 -2
  287. data/app/views/tasks/update.js.rjs +0 -1
  288. data/app/views/user_mailer/assigned_entity_notification.html.haml +3 -0
  289. data/app/views/users/_user.html.haml +2 -2
  290. data/app/views/users/_user_report.html.haml +6 -0
  291. data/app/views/users/opportunities_overview.html.haml +16 -0
  292. data/app/views/users/show.html.haml +2 -3
  293. data/app/views/users/update.js.rjs +1 -1
  294. data/app/views/versions/_version.html.haml +4 -19
  295. data/app/views/versions/_version_item.html.haml +8 -0
  296. data/app/views/versions/_versions.html.haml +9 -9
  297. data/config/application.rb +10 -2
  298. data/config/deploy.example.rb +47 -0
  299. data/config/environments/development.rb +1 -0
  300. data/config/environments/production.rb +1 -3
  301. data/config/environments/staging.rb +1 -1
  302. data/config/initializers/action_mailer.rb +10 -8
  303. data/config/initializers/custom_fields.rb +21 -0
  304. data/config/initializers/gravatar.rb +7 -0
  305. data/config/initializers/paper_trail.rb +1 -0
  306. data/config/initializers/ransack.rb +15 -0
  307. data/config/initializers/simple_form.rb +1 -2
  308. data/config/initializers/views.rb +42 -0
  309. data/config/locales/cz_fat_free_crm.yml +0 -10
  310. data/config/locales/de_fat_free_crm.yml +23 -21
  311. data/config/locales/en-GB_fat_free_crm.yml +241 -25
  312. data/config/locales/en-US_fat_free_crm.yml +139 -57
  313. data/config/locales/en-US_ransack.yml +92 -0
  314. data/config/locales/es_fat_free_crm.yml +0 -6
  315. data/config/locales/fr-CA_fat_free_crm.yml +0 -6
  316. data/config/locales/fr_fat_free_crm.yml +3 -14
  317. data/config/locales/it_fat_free_crm.yml +0 -11
  318. data/config/locales/ja_fat_free_crm.yml +0 -10
  319. data/config/locales/pl_fat_free_crm.yml +0 -6
  320. data/config/locales/pt-BR_fat_free_crm.yml +0 -6
  321. data/config/locales/ru_fat_free_crm.yml +0 -9
  322. data/config/locales/sv-SE_fat_free_crm.yml +0 -10
  323. data/config/locales/th_fat_free_crm.yml +0 -6
  324. data/config/locales/zh-CN.yml +4 -0
  325. data/config/locales/zh-CN_fat_free_crm.yml +78 -47
  326. data/config/routes.rb +13 -0
  327. data/config/settings.default.yml +20 -20
  328. data/db/demo/addresses.yml +2 -2
  329. data/db/migrate/20100928030598_create_sessions.rb +5 -0
  330. data/db/migrate/20100928030627_acts_as_taggable_on_migration.rb +6 -6
  331. data/db/migrate/20111201030535_add_field_groups_klass_name.rb +2 -1
  332. data/db/migrate/20120406082136_create_groups.rb +19 -0
  333. data/db/migrate/20120510025219_add_not_null_constraints_for_timestamp_columns.rb +21 -0
  334. data/db/migrate/20120528102124_increase_length_of_version_events.rb +9 -0
  335. data/db/migrate/20120801032706_add_pair_id_to_fields.rb +5 -0
  336. data/db/migrate/20121003063155_add_settings_to_custom_fields.rb +5 -0
  337. data/db/migrate/20121221033947_fix_country_mapping.rb +32 -0
  338. data/db/schema.rb +25 -6
  339. data/fat_free_crm.gemspec +16 -13
  340. data/lib/fat_free_crm.rb +2 -0
  341. data/lib/fat_free_crm/comment_extensions.rb +23 -0
  342. data/lib/fat_free_crm/core_ext/array.rb +8 -2
  343. data/lib/fat_free_crm/fields.rb +24 -2
  344. data/lib/fat_free_crm/gem_dependencies.rb +7 -1
  345. data/lib/fat_free_crm/permissions.rb +47 -26
  346. data/lib/fat_free_crm/version.rb +1 -1
  347. data/lib/fat_free_crm/view_factory.rb +95 -0
  348. data/lib/plugins/country_select/lib/country_select.rb +393 -374
  349. data/lib/tasks/{plugins.rake → db/migrate.rake} +1 -1
  350. data/lib/tasks/{schema_upgrade.rake → db/schema.rake} +2 -1
  351. data/lib/tasks/{mail_processing.rake → ffcrm/comment_replies.rake} +2 -21
  352. data/lib/tasks/ffcrm/config.rake +33 -0
  353. data/lib/tasks/{demo.rake → ffcrm/demo.rake} +3 -2
  354. data/lib/tasks/ffcrm/dropbox.rake +42 -0
  355. data/lib/tasks/ffcrm/settings.rake +46 -0
  356. data/lib/tasks/{fat_free_crm.rake → ffcrm/setup.rake} +1 -39
  357. data/lib/tasks/ffcrm/update_data.rake +256 -0
  358. data/{acceptance → spec/acceptance}/acceptance_helper.rb +5 -4
  359. data/{acceptance → spec/acceptance}/accounts_spec.rb +36 -10
  360. data/spec/acceptance/admin/groups_spec.rb +26 -0
  361. data/spec/acceptance/admin/users_spec.rb +34 -0
  362. data/spec/acceptance/campaigns_spec.rb +101 -0
  363. data/spec/acceptance/contacts_spec.rb +101 -0
  364. data/spec/acceptance/dashboard_spec.rb +62 -0
  365. data/spec/acceptance/leads_spec.rb +109 -0
  366. data/spec/acceptance/opportunities_overview_spec.rb +82 -0
  367. data/spec/acceptance/opportunities_spec.rb +103 -0
  368. data/{acceptance → spec/acceptance}/support/browser.rb +0 -0
  369. data/{acceptance → spec/acceptance}/support/headless.rb +0 -0
  370. data/{acceptance → spec/acceptance}/support/helpers.rb +8 -1
  371. data/{acceptance → spec/acceptance}/support/maintain_sessions.rb +0 -0
  372. data/spec/acceptance/support/paths.rb +42 -0
  373. data/spec/acceptance/support/selector_helpers.rb +31 -0
  374. data/spec/acceptance/tasks_spec.rb +85 -0
  375. data/spec/controllers/admin/groups_controller_spec.rb +5 -0
  376. data/spec/controllers/admin/users_controller_spec.rb +2 -3
  377. data/spec/controllers/applications_controller_spec.rb +40 -0
  378. data/spec/controllers/comments_controller_spec.rb +5 -6
  379. data/spec/controllers/emails_controller_spec.rb +1 -2
  380. data/spec/controllers/entities/accounts_controller_spec.rb +65 -81
  381. data/spec/controllers/entities/campaigns_controller_spec.rb +69 -85
  382. data/spec/controllers/entities/contacts_controller_spec.rb +78 -95
  383. data/spec/controllers/entities/leads_controller_spec.rb +105 -127
  384. data/spec/controllers/entities/opportunities_controller_spec.rb +88 -103
  385. data/spec/controllers/entities_controller_spec.rb +39 -0
  386. data/spec/controllers/home_controller_spec.rb +101 -11
  387. data/spec/controllers/tasks_controller_spec.rb +27 -32
  388. data/spec/controllers/users_controller_spec.rb +95 -28
  389. data/spec/factories/account_factories.rb +2 -2
  390. data/spec/factories/opportunity_factories.rb +12 -4
  391. data/spec/factories/task_factories.rb +4 -0
  392. data/spec/factories/user_factories.rb +9 -2
  393. data/spec/helpers/application_helper_spec.rb +15 -1
  394. data/spec/helpers/groups_helper_spec.rb +15 -0
  395. data/spec/helpers/users_helper_spec.rb +26 -4
  396. data/spec/lib/comment_extensions_spec.rb +29 -0
  397. data/spec/lib/core_ext/{string.rb → string_spec.rb} +0 -1
  398. data/spec/lib/fields_spec.rb +104 -0
  399. data/spec/lib/permissions_spec.rb +144 -0
  400. data/spec/lib/view_factory_spec.rb +68 -0
  401. data/spec/mailers/subscription_mailer_spec.rb +18 -4
  402. data/spec/mailers/user_mailer_spec.rb +134 -0
  403. data/spec/models/entities/account_spec.rb +44 -4
  404. data/spec/models/entities/campaign_spec.rb +3 -4
  405. data/spec/models/entities/contact_spec.rb +45 -5
  406. data/spec/models/entities/lead_spec.rb +3 -4
  407. data/spec/models/entities/opportunity_spec.rb +105 -9
  408. data/spec/models/fields/custom_field_date_pair_spec.rb +106 -0
  409. data/spec/models/fields/custom_field_pair_spec.rb +94 -0
  410. data/spec/models/fields/custom_field_spec.rb +43 -23
  411. data/spec/models/fields/field_spec.rb +3 -5
  412. data/spec/models/observers/entity_observer_spec.rb +65 -0
  413. data/spec/models/polymorphic/task_spec.rb +74 -118
  414. data/spec/models/polymorphic/version_spec.rb +18 -18
  415. data/spec/models/users/group_spec.rb +5 -0
  416. data/spec/models/users/permission_spec.rb +18 -1
  417. data/spec/models/users/preference_spec.rb +5 -1
  418. data/spec/models/users/user_spec.rb +55 -8
  419. data/spec/shared/models.rb +54 -0
  420. data/spec/spec_helper.rb +82 -87
  421. data/spec/support/auth_macros.rb +2 -3
  422. data/spec/views/accounts/_edit.haml_spec.rb +1 -2
  423. data/spec/views/accounts/_new.haml_spec.rb +1 -2
  424. data/spec/views/accounts/create.rjs_spec.rb +1 -3
  425. data/spec/views/accounts/edit.rjs_spec.rb +3 -4
  426. data/spec/views/accounts/index.haml_spec.rb +9 -6
  427. data/spec/views/accounts/new.rjs_spec.rb +2 -9
  428. data/spec/views/accounts/show.haml_spec.rb +1 -2
  429. data/spec/views/accounts/update.rjs_spec.rb +2 -3
  430. data/spec/views/admin/users/_create.haml_spec.rb +1 -2
  431. data/spec/views/admin/users/create.rjs_spec.rb +1 -2
  432. data/spec/views/campaigns/_edit.haml_spec.rb +2 -3
  433. data/spec/views/campaigns/_new.haml_spec.rb +2 -3
  434. data/spec/views/campaigns/create.rjs_spec.rb +0 -3
  435. data/spec/views/campaigns/destroy.rjs_spec.rb +1 -2
  436. data/spec/views/campaigns/edit.rjs_spec.rb +3 -6
  437. data/spec/views/campaigns/index.haml_spec.rb +6 -3
  438. data/spec/views/campaigns/new.rjs_spec.rb +2 -13
  439. data/spec/views/campaigns/show.haml_spec.rb +4 -6
  440. data/spec/views/campaigns/update.rjs_spec.rb +2 -7
  441. data/spec/views/contacts/_edit.haml_spec.rb +6 -7
  442. data/spec/views/contacts/_new.haml_spec.rb +2 -3
  443. data/spec/views/contacts/create.rjs_spec.rb +1 -3
  444. data/spec/views/contacts/edit.rjs_spec.rb +3 -4
  445. data/spec/views/contacts/index.haml_spec.rb +6 -3
  446. data/spec/views/contacts/new.rjs_spec.rb +2 -11
  447. data/spec/views/contacts/show.haml_spec.rb +1 -2
  448. data/spec/views/contacts/update.rjs_spec.rb +2 -3
  449. data/spec/views/home/index.haml_spec.rb +6 -2
  450. data/spec/views/home/index.rjs_spec.rb +1 -2
  451. data/spec/views/home/options.rjs_spec.rb +1 -2
  452. data/spec/views/leads/_convert.haml_spec.rb +1 -2
  453. data/spec/views/leads/_edit.haml_spec.rb +2 -3
  454. data/spec/views/leads/_new.haml_spec.rb +2 -3
  455. data/spec/views/leads/_sidebar_show.haml_spec.rb +1 -2
  456. data/spec/views/leads/convert.rjs_spec.rb +3 -5
  457. data/spec/views/leads/edit.rjs_spec.rb +4 -5
  458. data/spec/views/leads/index.haml_spec.rb +6 -3
  459. data/spec/views/leads/new.rjs_spec.rb +2 -11
  460. data/spec/views/leads/promote.rjs_spec.rb +3 -5
  461. data/spec/views/leads/show.haml_spec.rb +1 -2
  462. data/spec/views/leads/update.rjs_spec.rb +2 -3
  463. data/spec/views/opportunities/_edit.haml_spec.rb +5 -6
  464. data/spec/views/opportunities/_new.haml_spec.rb +2 -4
  465. data/spec/views/opportunities/create.rjs_spec.rb +0 -2
  466. data/spec/views/opportunities/edit.rjs_spec.rb +3 -4
  467. data/spec/views/opportunities/index.haml_spec.rb +7 -4
  468. data/spec/views/opportunities/new.rjs_spec.rb +2 -12
  469. data/spec/views/opportunities/show.haml_spec.rb +1 -2
  470. data/spec/views/opportunities/update.rjs_spec.rb +2 -3
  471. data/spec/views/tasks/_edit.haml_spec.rb +1 -3
  472. data/spec/views/tasks/complete.rjs_spec.rb +2 -3
  473. data/spec/views/tasks/create.rjs_spec.rb +2 -2
  474. data/spec/views/tasks/edit.rjs_spec.rb +1 -2
  475. data/spec/views/tasks/new.rjs_spec.rb +1 -18
  476. data/spec/views/users/avatar.rjs_spec.rb +1 -2
  477. data/spec/views/users/change_password.rjs_spec.rb +1 -2
  478. data/spec/views/users/edit.rjs_spec.rb +1 -2
  479. data/spec/views/users/password.rjs_spec.rb +1 -1
  480. data/spec/views/users/update.rjs_spec.rb +1 -2
  481. data/spec/views/users/upload_avatar.rjs_spec.rb +6 -7
  482. data/vendor/assets/images/brief.png +0 -0
  483. data/vendor/assets/images/chosen-sprite.png +0 -0
  484. data/vendor/assets/images/full.png +0 -0
  485. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  486. data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  487. data/vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png +0 -0
  488. data/vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png +0 -0
  489. data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
  490. data/vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png +0 -0
  491. data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
  492. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  493. data/vendor/assets/images/jquery-ui/{ui-icons_ef8c08_256x240.png → ui-icons_0073ea_256x240.png} +0 -0
  494. data/vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png +0 -0
  495. data/vendor/assets/images/jquery-ui/{ui-icons_ffd27a_256x240.png → ui-icons_ff0084_256x240.png} +0 -0
  496. data/vendor/assets/images/long.png +0 -0
  497. data/vendor/assets/javascripts/chosen-jquery.js +3 -0
  498. data/vendor/assets/javascripts/chosen-prototype.js +3 -0
  499. data/vendor/assets/javascripts/chosen.jquery.coffee +574 -0
  500. data/vendor/assets/javascripts/chosen.proto.coffee +580 -0
  501. data/vendor/assets/javascripts/jquery.disable.js +23 -0
  502. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js +1882 -0
  503. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js +20 -0
  504. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js +20 -0
  505. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js +20 -0
  506. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js +20 -0
  507. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js +20 -0
  508. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js +20 -0
  509. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js +20 -0
  510. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js +20 -0
  511. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js +20 -0
  512. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js +20 -0
  513. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js +20 -0
  514. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js +20 -0
  515. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js +20 -0
  516. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js +20 -0
  517. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js +20 -0
  518. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js +20 -0
  519. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js +20 -0
  520. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js +20 -0
  521. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js +20 -0
  522. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js +20 -0
  523. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js +20 -0
  524. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js +20 -0
  525. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js +20 -0
  526. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js +20 -0
  527. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js +20 -0
  528. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv.js +20 -0
  529. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js +20 -0
  530. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js +20 -0
  531. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js +20 -0
  532. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js +20 -0
  533. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js +23 -0
  534. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js +23 -0
  535. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js +23 -0
  536. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js +23 -0
  537. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js +23 -0
  538. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js +23 -0
  539. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js +23 -0
  540. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js +23 -0
  541. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js +23 -0
  542. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js +23 -0
  543. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js +23 -0
  544. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js +23 -0
  545. data/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js +23 -0
  546. data/vendor/assets/javascripts/lib/abstract-chosen.coffee +110 -0
  547. data/vendor/assets/javascripts/lib/select-parser.coffee +51 -0
  548. data/vendor/assets/stylesheets/chosen.css.sass +361 -0
  549. data/vendor/assets/stylesheets/{jquery-ui.custom.css.erb → jquery-ui.custom.css} +70 -70
  550. data/zeus.json +21 -0
  551. metadata +304 -140
  552. data/acceptance/support/database_cleaner.rb +0 -16
  553. data/acceptance/support/paths.rb +0 -9
  554. data/app/views/accounts/_options.html.haml +0 -20
  555. data/app/views/accounts/_permissions.html.haml +0 -24
  556. data/app/views/accounts/options.js.rjs +0 -10
  557. data/app/views/admin/fields/_edit.html.haml +0 -9
  558. data/app/views/admin/fields/_new.html.haml +0 -10
  559. data/app/views/admin/fields/_options.html.haml +0 -12
  560. data/app/views/admin/fields/_top_section.html.haml +0 -54
  561. data/app/views/admin/fields/create.js.rjs +0 -16
  562. data/app/views/admin/fields/edit.js.rjs +0 -35
  563. data/app/views/admin/fields/index.js.rjs +0 -6
  564. data/app/views/admin/fields/new.js.rjs +0 -8
  565. data/app/views/admin/fields/options.js.rjs +0 -10
  566. data/app/views/admin/fields/update.js.rjs +0 -17
  567. data/app/views/campaigns/_options.html.haml +0 -20
  568. data/app/views/campaigns/_permissions.html.haml +0 -24
  569. data/app/views/campaigns/options.js.rjs +0 -10
  570. data/app/views/contacts/_options.html.haml +0 -21
  571. data/app/views/contacts/_permissions.html.haml +0 -24
  572. data/app/views/contacts/options.js.rjs +0 -10
  573. data/app/views/entities/_advanced_search.html.haml +0 -12
  574. data/app/views/entities/_condition_fields.html.haml +0 -14
  575. data/app/views/entities/_grouping_fields.html.haml +0 -12
  576. data/app/views/entities/advanced_search.js.rjs +0 -9
  577. data/app/views/entities/versions.js.rjs +0 -3
  578. data/app/views/leads/_options.html.haml +0 -21
  579. data/app/views/leads/_permissions.html.haml +0 -28
  580. data/app/views/leads/options.js.rjs +0 -10
  581. data/app/views/opportunities/_options.html.haml +0 -20
  582. data/app/views/opportunities/_permissions.html.haml +0 -24
  583. data/app/views/opportunities/options.js.rjs +0 -10
  584. data/app/views/shared/_outline.html.haml +0 -9
  585. data/app/views/shared/_per_page.html.haml +0 -10
  586. data/app/views/shared/_sort_by.html.haml +0 -10
  587. data/config/initializers/cancan.rb +0 -151
  588. data/config/initializers/squeel.rb +0 -5
  589. data/public/blank_iframe.html +0 -2
  590. data/spec/views/accounts/options.rjs_spec.rb +0 -59
  591. data/spec/views/campaigns/options.rjs_spec.rb +0 -60
  592. data/spec/views/contacts/options.rjs_spec.rb +0 -61
  593. data/spec/views/leads/options.rjs_spec.rb +0 -61
  594. data/spec/views/opportunities/options.rjs_spec.rb +0 -60
  595. data/vendor/assets/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  596. data/vendor/assets/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  597. data/vendor/assets/images/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
  598. data/vendor/assets/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  599. data/vendor/assets/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  600. data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  601. data/vendor/assets/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  602. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  603. data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  604. data/vendor/assets/images/jquery-ui/ui-icons_222222_256x240.png +0 -0
  605. data/vendor/assets/images/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
  606. data/vendor/assets/javascripts/calendar_date_select/calendar_date_select.js +0 -446
  607. data/vendor/assets/javascripts/calendar_date_select/format_american.js +0 -35
  608. data/vendor/assets/javascripts/calendar_date_select/format_danish.js +0 -31
  609. data/vendor/assets/javascripts/calendar_date_select/format_db.js +0 -27
  610. data/vendor/assets/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  611. data/vendor/assets/javascripts/calendar_date_select/format_euro_24hr_ymd.js +0 -7
  612. data/vendor/assets/javascripts/calendar_date_select/format_finnish.js +0 -32
  613. data/vendor/assets/javascripts/calendar_date_select/format_french.js +0 -24
  614. data/vendor/assets/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -37
  615. data/vendor/assets/javascripts/calendar_date_select/format_iso_date.js +0 -29
  616. data/vendor/assets/javascripts/calendar_date_select/format_italian.js +0 -24
  617. data/vendor/assets/javascripts/calendar_date_select/locale/ar.js +0 -10
  618. data/vendor/assets/javascripts/calendar_date_select/locale/da.js +0 -11
  619. data/vendor/assets/javascripts/calendar_date_select/locale/de.js +0 -11
  620. data/vendor/assets/javascripts/calendar_date_select/locale/es.js +0 -11
  621. data/vendor/assets/javascripts/calendar_date_select/locale/fi.js +0 -10
  622. data/vendor/assets/javascripts/calendar_date_select/locale/fr.js +0 -11
  623. data/vendor/assets/javascripts/calendar_date_select/locale/it.js +0 -9
  624. data/vendor/assets/javascripts/calendar_date_select/locale/ja.js +0 -11
  625. data/vendor/assets/javascripts/calendar_date_select/locale/nl.js +0 -11
  626. data/vendor/assets/javascripts/calendar_date_select/locale/pl.js +0 -11
  627. data/vendor/assets/javascripts/calendar_date_select/locale/pt.js +0 -11
  628. data/vendor/assets/javascripts/calendar_date_select/locale/ru.js +0 -10
  629. data/vendor/assets/javascripts/calendar_date_select/locale/sl.js +0 -11
  630. data/vendor/assets/javascripts/calendar_date_select/locale/sv.js +0 -9
  631. data/vendor/assets/stylesheets/calendar_date_select/blue.css +0 -130
  632. data/vendor/assets/stylesheets/calendar_date_select/default.css +0 -135
  633. data/vendor/assets/stylesheets/calendar_date_select/green.css +0 -142
  634. data/vendor/assets/stylesheets/calendar_date_select/plain.css +0 -128
  635. data/vendor/assets/stylesheets/calendar_date_select/red.css +0 -135
  636. data/vendor/assets/stylesheets/calendar_date_select/silver.css +0 -133
  637. data/vendor/plugins/.gitkeep~master +0 -0
@@ -0,0 +1,42 @@
1
+
2
+ # Register the views that FatFreeCRM provides
3
+ #------------------------------------------------------------------------------
4
+
5
+ [ {:name => 'contacts_index_brief', :title => 'Brief format', :icon => 'brief.png',
6
+ :controllers => ['contacts'], :actions => ['index'], :template => 'contacts/index_brief'},
7
+ {:name => 'contacts_index_long', :title => 'Long format', :icon => 'long.png',
8
+ :controllers => ['contacts'], :actions => ['index'], :template => 'contacts/index_long'}, # default index view
9
+ {:name => 'contacts_index_full', :title => 'Full format', :icon => 'full.png',
10
+ :controllers => ['contacts'], :actions => ['index'], :template => 'contacts/index_full'},
11
+ {:name => 'contacts_show_normal', :title => 'Normal format', :icon => 'long.png',
12
+ :controllers => ['contacts'], :actions => ['show'], :template => nil}, # default show view
13
+
14
+ {:name => 'opportunities_index_brief', :title => 'Brief format', :icon => 'brief.png',
15
+ :controllers => ['opportunities'], :actions => ['index'], :template => 'opportunities/index_brief'},
16
+ {:name => 'opportunities_index_long', :title => 'Long format', :icon => 'long.png',
17
+ :controllers => ['opportunities'], :actions => ['index'], :template => 'opportunities/index_long'}, # default
18
+ {:name => 'opportunities_show_normal', :title => 'Normal format', :icon => 'long.png',
19
+ :controllers => ['opportunities'], :actions => ['show'], :template => nil}, # default show view
20
+
21
+ {:name => 'accounts_index_brief', :title => 'Brief format', :icon => 'brief.png',
22
+ :controllers => ['accounts'], :actions => ['index'], :template => 'accounts/index_brief'}, # default
23
+ {:name => 'accounts_index_long', :title => 'Long format', :icon => 'long.png',
24
+ :controllers => ['accounts'], :actions => ['index'], :template => 'accounts/index_long'}, # default
25
+ {:name => 'accounts_show_normal', :title => 'Normal format', :icon => 'long.png',
26
+ :controllers => ['accounts'], :actions => ['show'], :template => nil}, # default show view
27
+
28
+ {:name => 'leads_index_brief', :title => 'Brief format', :icon => 'brief.png',
29
+ :controllers => ['leads'], :actions => ['index'], :template => 'leads/index_brief'}, # default
30
+ {:name => 'leads_index_long', :title => 'Long format', :icon => 'long.png',
31
+ :controllers => ['leads'], :actions => ['index'], :template => 'leads/index_long'},
32
+ {:name => 'leads_show_normal', :title => 'Normal format', :icon => 'long.png',
33
+ :controllers => ['leads'], :actions => ['show'], :template => nil}, # default show view
34
+
35
+ {:name => 'campaigns_index_brief', :title => 'Brief format', :icon => 'brief.png',
36
+ :controllers => ['campaigns'], :actions => ['index'], :template => 'campaigns/index_brief'}, # default
37
+ {:name => 'campaigns_index_long', :title => 'Long format', :icon => 'long.png',
38
+ :controllers => ['campaigns'], :actions => ['index'], :template => 'campaigns/index_long'},
39
+ {:name => 'campaigns_show_normal', :title => 'Normal format', :icon => 'long.png',
40
+ :controllers => ['campaigns'], :actions => ['show'], :template => nil}, # default show view
41
+
42
+ ].each {|view| FatFreeCRM::ViewFactory.new(view)}
@@ -663,16 +663,6 @@ cz:
663
663
  mmddhhss: "%e %b v %H:%M"
664
664
  mmddyyyy_hhmm: "%Y-%m-%d %H:%M"
665
665
 
666
- calendar_date_select:
667
- ok: OK
668
- now: Nyní
669
- today: Dnes
670
- clear: Smazat
671
-
672
- # If you need custom format look at
673
- # http://code.google.com/p/calendardateselect/wiki/ChangingDateFormatCustom
674
- calendar_date_select_format: iso_date
675
-
676
666
  # will_paginate translations copied for 'en-US'
677
667
  #----------------------------------------------------------------------------
678
668
  will_paginate:
@@ -1,12 +1,12 @@
1
1
  de:
2
2
  all: "Alle"
3
3
  contact_info: "Kontaktinformation"
4
- leads: "Leads"
4
+ leads: "Anfragen"
5
5
  task_created: "Die Aufgabe wurde angelegt"
6
6
  about_home_page: "Home-Page"
7
7
  msg_login_needed: "Sie müssen angemeldet sein, um diese Seite zu sehen."
8
8
  user_since: "Benutzer seit %{value}"
9
- objectives_help: "Bitte geben Sie die Anzahl erwarteter Leads an, die erwartete Lead-Chance-Konversionsrate, Zielumsatz, und das Kampagnenbudget. Diese Angaben ermöglichen die Kontrolle der Kampagneneffizienz."
9
+ objectives_help: "Bitte geben Sie die Anzahl erwarteter Anfragen an, die erwartete Lead-Chance-Konversionsrate, Zielumsatz, und das Kampagnenbudget. Diese Angaben ermöglichen die Kontrolle der Kampagneneffizienz."
10
10
  option_closes_on: "Abschlussdatum"
11
11
  follow_up: "Wiedervorlage"
12
12
  no_discount: "ohne Rabatt"
@@ -37,7 +37,7 @@ de:
37
37
  msg_require_admin: "Sie müssen Administrator sein, um auf die Seite zu zugreifen."
38
38
  budget: "Budget"
39
39
  could_not_find: "Konnte %{value} nicht finden. Feel free to"
40
- leads_small: "leads"
40
+ leads_small: "Anfragen"
41
41
  final_review: "Abschlussprüf."
42
42
  closed_ago_on: "erledigt vor %{time_ago} am %{date}"
43
43
  subject_opportunity: "Chance"
@@ -51,9 +51,6 @@ de:
51
51
  set: "%{attr} auf %{to} geändert"
52
52
  change: "%{attr} wurde von %{from} zu %{to} geändert"
53
53
  anonymous: "anonymous"
54
- destroy: "%{item} wurde von %{by} vor %{when} gelöscht."
55
- create: "%{item} wurde von %{by} vor %{when} erstellt."
56
- update: "%{item} wurde von %{by} vor %{when} geändert."
57
54
  unset: "%{attr} nicht definiert"
58
55
  password_reset_instruction: "Anleitung zum Zurücksetzen des Passwortes"
59
56
  new: "Neu"
@@ -86,7 +83,7 @@ de:
86
83
  option_brief: "kurz"
87
84
  tasks: "Aufgabe"
88
85
  campaign: "Kampagne"
89
- option_target_leads: "target leads"
86
+ option_target_leads: "target Anfragen"
90
87
  create_user: "Erstelle Benutzer"
91
88
  opportunities: "Chancen"
92
89
  accounts_small: "accounts"
@@ -283,12 +280,12 @@ de:
283
280
  change_password: "Passwort ändern"
284
281
  user: "Benutzer"
285
282
  msg_goodbye: "Sie wurden abgemeldet. Danke, dass Sie Fat Free CRM! benutzt haben."
286
- option_leads_count: "aktuelle leads"
283
+ option_leads_count: "aktuelle Anfragen"
287
284
  suspend: "Sperren"
288
285
  task_completed_ago: "vor %{value} erledigt"
289
286
  probability: "Wahrscheinlk."
290
287
  revenue: "Umsatz"
291
- save_account: "Komto sichern"
288
+ save_account: "Konto sichern"
292
289
  all_users: "alle Benutzer"
293
290
  city: "Stadt"
294
291
  pending_tab: "Wartend"
@@ -304,11 +301,6 @@ de:
304
301
  completed: "Erledigt"
305
302
  rejected: "Abgelehnt"
306
303
  msg_password_changed: "Ihr Passwort wurde geändert."
307
- calendar_date_select:
308
- clear: "Zurücksetzen"
309
- now: "Jetzt"
310
- ok: "OK"
311
- today: "Heute"
312
304
  pluralize:
313
305
  comment:
314
306
  other: "%{count} Kommentare"
@@ -317,7 +309,7 @@ de:
317
309
  other: "%{count} Kontakte"
318
310
  one: "1 Kontakt"
319
311
  lead:
320
- other: "%{count} leads"
312
+ other: "%{count} Anfragen"
321
313
  one: "1 Anfrage"
322
314
  login:
323
315
  other: "%{count} logins"
@@ -399,13 +391,13 @@ de:
399
391
  msg_assets_not_available: "%{value} sind nicht verfügbar."
400
392
  confirm_password_intro: "Bitte geben Sie Ihr neues Passwort ein und bestätigen es."
401
393
  assigned_tab: "Zugeordnet"
402
- tab_leads: "Leads"
394
+ tab_leads: "Anfragen"
403
395
  save_campaign: "Kampagne sichern"
404
396
  move_to: "verschiebe auf"
405
397
  add_note: "Notiz anfügen"
406
398
  edit_profile: "Profil bearbeiten"
407
399
  field_group_confirm_delete: "Exportiere als Comma-separiertes Dateiformat (inklusive gelöschte Datensätze)"
408
- campaign_and_leads: "Kampagne und zugehörige leads"
400
+ campaign_and_leads: "Kampagne und zugehörige Anfragen"
409
401
  comment_notification:
410
402
  reply_instructions: "Sie können auf dieses e-Mail antworten um ein Kommentar hinzuzufügen, oder zeigen Sie %{entity} in Ihrem Browser an."
411
403
  intro: "%{user_full_name} kommentierte %{entity_type}: %{entity_name}"
@@ -432,7 +424,7 @@ de:
432
424
  email: "Email"
433
425
  tab_contacts: "Kontakte"
434
426
  campaign_small: "Kampagne"
435
- number_of_leads: "Anzahl der leads"
427
+ number_of_leads: "Anzahl der Anfragen"
436
428
  mail_to: "Mail an %{value}"
437
429
  sign_up_button: "Registrieren"
438
430
  campaigns_small: "Kampagnen"
@@ -464,7 +456,7 @@ de:
464
456
  due: "Fällig"
465
457
  create_new: "erstelle neu(e)"
466
458
  revenue_number: "%{value} Umsatz"
467
- total_leads: "Anzahl der Leads"
459
+ total_leads: "Anzahl der Anfragen"
468
460
  proposal: "Angebot"
469
461
  do_not_call: "Nicht anrufen"
470
462
  meeting: "Meeting"
@@ -492,7 +484,7 @@ de:
492
484
  msg_successful_signup: "Erfolgreiche Anmeldung. Willkommen bei Fat Free CRM!"
493
485
  following_users_will_be_notified: "Die folgenden Benutzer werden mittels e-Mail benachrichtigt"
494
486
  skype: "Skype"
495
- partner: "Partneradministrator"
487
+ partner: "Partner"
496
488
  n_a: "N/A"
497
489
  extra_info: "Zusatzinformation"
498
490
  option_all: "alle"
@@ -608,7 +600,6 @@ de:
608
600
  lead_permissions_intro_private: "Standardmäßig werden die Zugriffsregeln aus der Kampagne kopiert oder auf privat gesetzt. Dies kann auch später durchgeführt werden."
609
601
  remember_me: "Erinnere mich"
610
602
  edit_comment: "Kommentar bearbeiten"
611
- calendar_date_select_format: "euro_24hr"
612
603
  no_tasks_pending: "wartend"
613
604
  lead_summary: "Anfrage-Zusammenfassung"
614
605
  task_small: "Aufgabe"
@@ -690,3 +681,14 @@ de:
690
681
  starts_in: "beginnt in %{value}"
691
682
  subject_contact: "Kontakt"
692
683
  overdue: "Verspätet, war fällig am"
684
+ access: "Zugang"
685
+ born_on: "Geboren am"
686
+ reports_to: "Berichtet an"
687
+ my_tasks: "Meine Aufgaben"
688
+ my_opportunities: "Meine Chancen"
689
+ my_accounts: "Meine Firmen"
690
+ no_task_records: "Sie haben keine Aufgaben"
691
+ no_opportunity_records: "Sie haben keine Chancen"
692
+ no_account_records: "Sie haben keine Firmen"
693
+ target_revenue: Target revenue
694
+ target_conversion: Ziel Konversion
@@ -22,8 +22,12 @@ en-GB:
22
22
  tab_accounts: Accounts
23
23
  tab_contacts: Contacts
24
24
  tab_opportunities: Opportunities
25
+ tab_team: Team
25
26
 
27
+ admin_tab_groups: Groups
26
28
  admin_tab_users: Users
29
+ admin_tab_fields: Custom Fields
30
+ admin_tab_tags: Tags
27
31
  admin_tab_settings: Settings
28
32
  admin_tab_plugins: Plugins
29
33
 
@@ -163,7 +167,7 @@ en-GB:
163
167
 
164
168
  # Controllers.
165
169
  #----------------------------------------------------------------------------
166
- msg_account_created: Your account has been created and is awating approval by the system administrator.
170
+ msg_account_created: Your account has been created and is awaiting approval by the system administrator.
167
171
  msg_account_not_approved: Your account has not been approved yet.
168
172
  msg_asset_deleted: "%{value} has been deleted."
169
173
  msg_asset_not_available: This %{value} is no longer available.
@@ -193,7 +197,7 @@ en-GB:
193
197
  # Options.
194
198
  #----------------------------------------------------------------------------
195
199
  "option_amount*probability": weighted amount
196
- activity_options: Show %{models} activities performed by %{user} in the past %{period}.
200
+ activity_options: Show %{models} %{action_type} performed by %{user} in the past %{period}.
197
201
  all_users: all users
198
202
  option_after: after
199
203
  option_all: all
@@ -258,6 +262,10 @@ en-GB:
258
262
  user: User
259
263
  username: Username
260
264
  yahoo: Yahoo IM
265
+ born_on: Born on
266
+ reports_to: Reports to
267
+ access: Access
268
+ contacts_account: Contact's account
261
269
 
262
270
  # Views -> Authenticate.
263
271
  #----------------------------------------------------------------------------
@@ -270,6 +278,7 @@ en-GB:
270
278
  # Views -> Accounts.
271
279
  #----------------------------------------------------------------------------
272
280
  account: Account
281
+ select_an_account: Select an Account
273
282
  account_small: account
274
283
  account_summary: Account Summary
275
284
  accounts: Accounts
@@ -362,6 +371,7 @@ en-GB:
362
371
  referred_by_small: referred by
363
372
  save_contact: Save Contact
364
373
  twitter: Twitter
374
+ unassigned: Unassigned
365
375
  web_presence: Web Presence
366
376
  web_presence_small: web presence
367
377
  works_at: "%{job_title} at %{company}"
@@ -428,6 +438,10 @@ en-GB:
428
438
 
429
439
  # Views -> Tasks.
430
440
  #----------------------------------------------------------------------------
441
+ task: Task
442
+ task_small: task
443
+ tasks: Tasks
444
+ tasks_small: tasks
431
445
  assign_to: Assign to
432
446
  assigned_tab: Assigned
433
447
  assigned_tasks: Assigned Tasks
@@ -466,29 +480,49 @@ en-GB:
466
480
  view_assigned_tasks: view assigned tasks
467
481
  view_pending_tasks: view pending tasks
468
482
 
483
+ # Views -> Team.
484
+ #----------------------------------------------------------------------------
485
+ unassigned_opportunities: Unassigned Opportunities
486
+ no_opportunities_found: There are currently no outstanding opportunities.
487
+
469
488
  # Views -> Home.
470
489
  #----------------------------------------------------------------------------
471
- action_commented: commented on
472
490
  action_completed: completed
473
- action_created: created
474
- action_deleted: deleted
475
- action_email: exchanged emails with
491
+ action_create: created
492
+ action_destroy: deleted
476
493
  action_reassigned: reassigned
477
494
  action_rejected: rejected
478
495
  action_rescheduled: rescheduled
479
- action_updated: updated
480
- action_viewed: viewed
496
+ action_update: updated
497
+ action_view: viewed
481
498
  action_won: won
482
499
  activities: Activities
483
500
  no_activity_records: No activity records found.
484
501
  recent_activity: Recent Activity
485
502
  recent_activity_options: Recent Activity Options
486
503
  subject_account: account
504
+ subject_address: address on
487
505
  subject_campaign: campaign
506
+ subject_comment: comment on
488
507
  subject_contact: contact
508
+ subject_email: email on
489
509
  subject_lead: lead
490
510
  subject_opportunity: opportunity
491
511
  subject_task: task
512
+ subject_user: user
513
+ create_past_participle: Record Creations
514
+ view_past_participle: Views
515
+ update_past_participle: Updates
516
+ destroy_past_participle: Deletions
517
+ all_events_past_participle: Activities
518
+
519
+ my_tasks: My Tasks
520
+ no_task_records: You have no tasks.
521
+ my_opportunities: My Opportunities
522
+ no_opportunity_records: You have no opportunities.
523
+ my_accounts: My Accounts
524
+ no_account_records: You have no accounts
525
+ not_showing_hidden_entities: Not showing %{count} hidden %{entity}.
492
526
 
493
527
  # Views -> Common.
494
528
  #----------------------------------------------------------------------------
@@ -501,10 +535,11 @@ en-GB:
501
535
  back: Back
502
536
  cancel: Cancel
503
537
  close_form: Close form
538
+ comment_intro: You can add comments later.
504
539
  confirm_delete: Are you sure you want to delete this %{value}?
505
540
  copy_permissions: Copy %{value} permissions
506
- could_not_find: "Couldn't find %{value}. Feel free to"
507
- could_not_find_matching: "Couldn't find %{value} matching"
541
+ could_not_find: "Couldn't find any %{value}. Feel free to"
542
+ could_not_find_matching: "Couldn't find any %{value} matching"
508
543
  create_new: create new
509
544
  create_a_new: create a new
510
545
  select_existing: select existing
@@ -537,6 +572,11 @@ en-GB:
537
572
  zipcode: Post Code
538
573
  state: County
539
574
  country: Country
575
+ select_a_country: Select a Country
576
+ expand_all: Expand all
577
+ collapse_all: Collapse all
578
+ expanded: Expanded
579
+ collapsed: Collapsed
540
580
 
541
581
  # Views -> Layout.
542
582
  #----------------------------------------------------------------------------
@@ -556,11 +596,45 @@ en-GB:
556
596
  quick_find: Quick find
557
597
  welcome: Welcome
558
598
 
599
+ # Views -> Advanced Search.
600
+ accounts_advanced_search: Accounts Advanced search
601
+ advanced_search: Advanced search
602
+ advanced_search_submit: Search
603
+ advanced_search_add_group: Add a group of filters
604
+ advanced_search_group_first: Show results where %{combinator} of the following match
605
+ advanced_search_group_rest: ...and where %{combinator} of the following match
606
+ advanced_search_add_condition: Add a filter
607
+ advanced_search_remove_condition: Remove filter
608
+
609
+ ransack:
610
+ predicates:
611
+ eq: is
612
+ not_eq: is not
613
+ lt: is less than
614
+ gt: is greater than
615
+ matches: matches
616
+ does_not_match: doesn't match
617
+ cont: contains
618
+ not_cont: doesn't contain
619
+ blank: is blank
620
+ present: is present
621
+ "null": is null
622
+ not_null: is not null
623
+
559
624
  # Views -> Comments.
560
625
  #----------------------------------------------------------------------------
626
+ comment: Comment
561
627
  edit_comment: Editing comment
562
628
  show: Show
563
629
  update: Update
630
+ following_users_will_be_notified: The following users will be notified by email
631
+ notifications_tooltip: Subscribers will receive new comments via email
632
+ subscribe_via_email: Subscribe via email
633
+ disable_email_subscriptions: Disable email subscription
634
+
635
+ # Views -> Emails.
636
+ #----------------------------------------------------------------------------
637
+ email: Email
564
638
 
565
639
  # Views -> Passwords.
566
640
  #----------------------------------------------------------------------------
@@ -574,6 +648,16 @@ en-GB:
574
648
  back_to_crm: Back to Fat Free CRM
575
649
  crm_admin_page: Fat Free CRM Administration
576
650
 
651
+ # Views -> Admin -> Groups
652
+ #----------------------------------------------------------------------------
653
+ create_group: Create Group
654
+ save_group: Save Group
655
+ group_members: members
656
+ groups: Groups
657
+ groups_small: groups
658
+ group_small: group
659
+ confirm_group_delete: Are you sure you wish to delete this group? There are %{count} items that still reference it.
660
+
577
661
  # Views -> Admin -> Users.
578
662
  #----------------------------------------------------------------------------
579
663
  approve: Approve
@@ -601,12 +685,12 @@ en-GB:
601
685
  #----------------------------------------------------------------------------
602
686
  versions: History
603
687
  version:
604
- create: Created by %{by} %{when} ago.
605
- update: Modified by %{by} %{when} ago.
606
- destroy: Destroyed by %{by} %{when} ago.
607
- set: %{attr} set to %{to}
608
- unset: %{attr} unset
609
- change: %{attr} changed from %{from} to %{to}
688
+ create: %{item} created by %{by}
689
+ update: %{item} modified by %{by}
690
+ destroy: %{item} destroyed by %{by}
691
+ set_html: %{attr} set to %{to}
692
+ unset_html: %{attr} unset
693
+ change_html: %{attr} changed from %{from} to %{to}
610
694
  anonymous: anonymous
611
695
 
612
696
  # Export.
@@ -624,6 +708,20 @@ en-GB:
624
708
  subject: Subject
625
709
  body: Body
626
710
 
711
+ # Comment Inbox
712
+ #----------------------------------------------------------------------------
713
+ comment_notification:
714
+ intro: "%{user_full_name} commented on %{entity_type}: %{entity_name}"
715
+ reply_instructions: "Reply to this email directly to add a new comment, or view the %{entity} online"
716
+
717
+ # Lists
718
+ #----------------------------------------------------------------------------
719
+ lists: Lists
720
+ list: List
721
+ no_saved_lists: No saved lists
722
+ make_current_view_list: Make current view a list
723
+ list_name_info: If you use the name of an existing list, you will overwrite that list with your current settings
724
+
627
725
  # Pluralizations.
628
726
  #----------------------------------------------------------------------------
629
727
  pluralize:
@@ -657,14 +755,132 @@ en-GB:
657
755
  time:
658
756
  formats:
659
757
  mmddhhss: "%e %b at %l:%M%p"
660
- mmddyyyy_hhmm: "%Y-%m-%d %H:%M"
758
+ mmddyyyy_hhmm: "%e %b %Y at %l:%M%p"
759
+
760
+ # will_paginate translations copied from 'en-US'
761
+ #----------------------------------------------------------------------------
762
+ will_paginate:
763
+ previous_label: "← Previous"
764
+ next_label: "Next →"
765
+ page_gap: "…"
766
+ page_entries_info:
767
+ single_page:
768
+ zero: "No %{plural} found"
769
+ one: "Displaying 1 %{name}"
770
+ other: "Displaying all %{count} %{plural}"
771
+
772
+ multi_page: "Displaying %{plural} %{from} - %{to} of %{total} in total"
661
773
 
662
- calendar_date_select:
663
- ok: OK
664
- now: Now
665
- today: Today
666
- clear: Clear
667
774
 
668
- # If you need custom format look at
669
- # http://code.google.com/p/calendardateselect/wiki/ChangingDateFormatCustom
670
- calendar_date_select_format: iso_date
775
+ # Views -> Admin -> Custom Fields
776
+ #----------------------------------------------------------------------------
777
+ label: Label
778
+ custom_fields: Custom Fields
779
+ custom_field_options: Custom Field Options
780
+ create_field: Create field
781
+ save_field: Save field
782
+ create_field_group: Create field group
783
+ edit_field_group: Edit field group
784
+ save_field_group: Save field group
785
+
786
+ field_group_empty: There are no fields in this group.
787
+
788
+ select_or_create_tags: Select some tags, or create a new tag by pressing 'enter'.
789
+
790
+ restrict_by_tag: Restrict by Tag
791
+ restrict_by_tag_info: Only show fields for %{assets} that are tagged with
792
+ field_group_tag_restriction: This field group applies to %{assets} tagged with "%{tag}"
793
+ field_group_unrestricted: This field group applies to all %{assets}
794
+ field_group_confirm_delete: If a field group is deleted, any fields will be moved to the default field group.
795
+ msg_cant_delete_field_group: Field Group could not be deleted.
796
+
797
+ admin_fields_info: |
798
+ Custom fields are displayed in groups.
799
+ Create a new field group, or add fields to one of the groups below.<br />
800
+ You can drag and drop fields to change their display order or move them between field groups.
801
+
802
+ # Views -> Admin -> Tags
803
+ #----------------------------------------------------------------------------
804
+ tags: Tags
805
+ tag_small: tag
806
+ tagged: Tagged
807
+ create_tag: Create Tag
808
+ save_tag: Save Tag
809
+ field_group_tags: Field Groups shown for this Tag
810
+ tag_with_taggings_confirm_delete: "If this tag is deleted, it will be removed from %{value} records."
811
+ msg_cant_delete_tag: "Couldn't delete '%{value}' since it has associated Field Groups."
812
+
813
+
814
+ # Views -> Admin -> Plugins
815
+ #----------------------------------------------------------------------------
816
+ views:
817
+ admin:
818
+ plugins:
819
+ author: Author
820
+ version: Version
821
+ description: Description
822
+
823
+
824
+ # Simple Form translations
825
+ #----------------------------------------------------------------------------
826
+ simple_form:
827
+ "yes": 'Yes'
828
+ "no": 'No'
829
+ required:
830
+ text: 'required'
831
+ mark: '*'
832
+ # You can uncomment the line below if you need to overwrite the whole required html.
833
+ # When using html, text and mark won't be used.
834
+ # html: '<abbr title="required">*</abbr>'
835
+ error_notification:
836
+ default_message: "Some errors were found, please take a look:"
837
+ # Labels and hints examples
838
+ # labels:
839
+ # password: 'Password'
840
+ # user:
841
+ # new:
842
+ # email: 'E-mail para efetuar o sign in.'
843
+ # edit:
844
+ # email: 'E-mail.'
845
+ # hints:
846
+ # username: 'User name to sign in.'
847
+ # password: 'No special characters, please.'
848
+
849
+
850
+ # Form field types
851
+ #----------------------------------------------------------------------------
852
+ field_types:
853
+ string:
854
+ title: Short Answer
855
+ text:
856
+ title: Long Answer
857
+ select:
858
+ title: Select List
859
+ multiselect:
860
+ title: Multi Select
861
+ radio:
862
+ title: Radio Buttons
863
+ boolean:
864
+ title: Checkbox
865
+ check_boxes:
866
+ title: Checkbox List
867
+ date:
868
+ title: Date
869
+ date_pair:
870
+ title: Date Pair
871
+ datetime:
872
+ title: Date & Time
873
+ datetime_pair:
874
+ title: Date & Time Pair
875
+ email:
876
+ title: Email Address
877
+ url:
878
+ title: URL
879
+ tel:
880
+ title: Phone Number
881
+ decimal:
882
+ title: Number (Decimal)
883
+ integer:
884
+ title: Number (Integer)
885
+ float:
886
+ title: Number (Floating Point)