Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Initial Commit

  • Loading branch information...
commit b691b3821e30c160f4b657f3d1863460cbc247c7 0 parents
Brian Moore authored

Showing 476 changed files with 13,336 additions and 0 deletions. Show diff stats Hide diff stats

  1. +19 0 contact-server/Rakefile
  2. +27 0 contact-server/application.rb
  3. +33 0 contact-server/config.ru
  4. BIN  contact-server/dump.rdb
  5. +1 0  contact-server/settings/license.key
  6. +17 0 contact-server/settings/settings.yml
  7. +34 0 contact-server/sources/customer.rb
  8. +25 0 contact-server/spec/sources/customer_spec.rb
  9. +27 0 contact-server/spec/spec_helper.rb
  10. +28 0 contact/Rakefile
  11. +7 0 contact/app/Customer/customer.rb
  12. +112 0 contact/app/Customer/customer_controller.rb
  13. +69 0 contact/app/Customer/edit.bb.erb
  14. +68 0 contact/app/Customer/edit.erb
  15. +21 0 contact/app/Customer/index.bb.erb
  16. +29 0 contact/app/Customer/index.erb
  17. +69 0 contact/app/Customer/new.bb.erb
  18. +67 0 contact/app/Customer/new.erb
  19. +66 0 contact/app/Customer/show.bb.erb
  20. +61 0 contact/app/Customer/show.erb
  21. +10 0 contact/app/Customer/wait.erb
  22. +75 0 contact/app/Settings/controller.rb
  23. +17 0 contact/app/Settings/home.bb.erb
  24. +23 0 contact/app/Settings/home.erb
  25. +32 0 contact/app/Settings/index.bb.erb
  26. +46 0 contact/app/Settings/index.erb
  27. +35 0 contact/app/Settings/login.bb.erb
  28. +31 0 contact/app/Settings/login.erb
  29. +15 0 contact/app/Settings/reset.bb.erb
  30. +18 0 contact/app/Settings/reset.erb
  31. +3 0  contact/app/Settings/wait.bb.erb
  32. +5 0 contact/app/Settings/wait.erb
  33. +12 0 contact/app/application.rb
  34. +108 0 contact/app/helpers/application_helper.rb
  35. +18 0 contact/app/helpers/browser_helper.rb
  36. +26 0 contact/app/index.bb.erb
  37. +23 0 contact/app/index.erb
  38. +25 0 contact/app/layout.erb
  39. +11 0 contact/app/loading.html
  40. +7 0 contact/app/test/customer_spec.rb
  41. +25 0 contact/build.yml
  42. BIN  contact/icon/icon.ico
  43. BIN  contact/icon/icon.png
  44. +287 0 contact/public/css/android.css
  45. +115 0 contact/public/css/blackberry.css
  46. +382 0 contact/public/css/iphone.css
  47. +41 0 contact/public/css/webkit.css
  48. +212 0 contact/public/css/windows_mobile.css
  49. +21 0 contact/public/images/IUI_LICENSE.txt
  50. BIN  contact/public/images/android/btn_check_off.png
  51. BIN  contact/public/images/android/btn_check_on.png
  52. BIN  contact/public/images/android/btn_radio_off.png
  53. BIN  contact/public/images/android/btn_radio_on.png
  54. BIN  contact/public/images/android/ic_menu_more.png
  55. BIN  contact/public/images/backButton.png
  56. BIN  contact/public/images/blueButton.png
  57. BIN  contact/public/images/cancel.png
  58. BIN  contact/public/images/grayButton.png
  59. BIN  contact/public/images/iphone/disclosure.png
  60. BIN  contact/public/images/iphone/disclosure_detail.png
  61. BIN  contact/public/images/iphone/radiobutton.png
  62. BIN  contact/public/images/iphone/select.png
  63. BIN  contact/public/images/iphone/switch.png
  64. BIN  contact/public/images/iui-logo-touch-icon.png
  65. BIN  contact/public/images/listArrow.png
  66. BIN  contact/public/images/listArrowDown.png
  67. BIN  contact/public/images/listArrowSel.png
  68. BIN  contact/public/images/listGroup.png
  69. BIN  contact/public/images/loading.gif
  70. BIN  contact/public/images/pinstripes.png
  71. BIN  contact/public/images/right_button.png
  72. BIN  contact/public/images/selection.png
  73. BIN  contact/public/images/thumb.png
  74. BIN  contact/public/images/toggle.png
  75. BIN  contact/public/images/toggleOn.png
  76. BIN  contact/public/images/toolButton.png
  77. BIN  contact/public/images/toolButton_new.png
  78. BIN  contact/public/images/toolbar.png
  79. BIN  contact/public/images/whiteButton.png
  80. +1 0  contact/public/js/application.js
  81. +4 0 contact/public/js/rho.js
  82. +59 0 contact/public/js/rhogeolocation-wm.js
  83. +11 0 contact/public/js/rhogeolocation.js
  84. +24 0 contact/rhoconfig.txt
  85. +28 0 css/Rakefile
  86. +29 0 css/app/Person/edit.bb.erb
  87. +28 0 css/app/Person/edit.erb
  88. +21 0 css/app/Person/index.bb.erb
  89. +23 0 css/app/Person/index.erb
  90. +50 0 css/app/Person/new.bb.erb
  91. +46 0 css/app/Person/new.erb
  92. +7 0 css/app/Person/person.rb
  93. +59 0 css/app/Person/person_controller.rb
  94. +26 0 css/app/Person/show.bb.erb
  95. +24 0 css/app/Person/show.erb
  96. +75 0 css/app/Settings/controller.rb
  97. +17 0 css/app/Settings/home.bb.erb
  98. +23 0 css/app/Settings/home.erb
  99. +32 0 css/app/Settings/index.bb.erb
  100. +46 0 css/app/Settings/index.erb
  101. +35 0 css/app/Settings/login.bb.erb
  102. +31 0 css/app/Settings/login.erb
  103. +15 0 css/app/Settings/reset.bb.erb
  104. +18 0 css/app/Settings/reset.erb
  105. +3 0  css/app/Settings/wait.bb.erb
  106. +5 0 css/app/Settings/wait.erb
  107. +12 0 css/app/application.rb
  108. +108 0 css/app/helpers/application_helper.rb
  109. +18 0 css/app/helpers/browser_helper.rb
  110. +26 0 css/app/index.bb.erb
  111. +34 0 css/app/index.erb
  112. +25 0 css/app/layout.erb
  113. +11 0 css/app/loading.html
  114. +7 0 css/app/test/person_spec.rb
  115. +16 0 css/build.yml
  116. BIN  css/icon/icon.ico
  117. BIN  css/icon/icon.png
  118. +292 0 css/public/css/android.css
  119. +115 0 css/public/css/blackberry.css
  120. +382 0 css/public/css/iphone.css
  121. +41 0 css/public/css/webkit.css
  122. +212 0 css/public/css/windows_mobile.css
  123. +21 0 css/public/images/IUI_LICENSE.txt
  124. BIN  css/public/images/android/btn_check_off.png
  125. BIN  css/public/images/android/btn_check_on.png
  126. BIN  css/public/images/android/btn_radio_off.png
  127. BIN  css/public/images/android/btn_radio_on.png
  128. BIN  css/public/images/android/ic_menu_more.png
  129. BIN  css/public/images/backButton.png
  130. BIN  css/public/images/blueButton.png
  131. BIN  css/public/images/cancel.png
  132. BIN  css/public/images/grayButton.png
  133. BIN  css/public/images/iphone/disclosure.png
  134. BIN  css/public/images/iphone/disclosure_detail.png
  135. BIN  css/public/images/iphone/radiobutton.png
  136. BIN  css/public/images/iphone/select.png
  137. BIN  css/public/images/iphone/switch.png
  138. BIN  css/public/images/iui-logo-touch-icon.png
  139. BIN  css/public/images/listArrow.png
  140. BIN  css/public/images/listArrowDown.png
  141. BIN  css/public/images/listArrowSel.png
  142. BIN  css/public/images/listGroup.png
  143. BIN  css/public/images/loading.gif
  144. BIN  css/public/images/pinstripes.png
  145. BIN  css/public/images/right_button.png
  146. BIN  css/public/images/selection.png
  147. BIN  css/public/images/thumb.png
  148. BIN  css/public/images/toggle.png
  149. BIN  css/public/images/toggleOn.png
  150. BIN  css/public/images/toolButton.png
  151. BIN  css/public/images/toolButton_new.png
  152. BIN  css/public/images/toolbar.png
  153. BIN  css/public/images/whiteButton.png
  154. +1 0  css/public/js/application.js
  155. +4 0 css/public/js/rho.js
  156. +59 0 css/public/js/rhogeolocation-wm.js
  157. +11 0 css/public/js/rhogeolocation.js
  158. +23 0 css/rhoconfig.txt
  159. +28 0 imageupload/Rakefile
  160. +11 0 imageupload/app/Image/image.rb
  161. +55 0 imageupload/app/Image/image_controller.rb
  162. +21 0 imageupload/app/Image/index.bb.erb
  163. +46 0 imageupload/app/Image/index.erb
  164. +75 0 imageupload/app/Settings/controller.rb
  165. +17 0 imageupload/app/Settings/home.bb.erb
  166. +23 0 imageupload/app/Settings/home.erb
  167. +32 0 imageupload/app/Settings/index.bb.erb
  168. +46 0 imageupload/app/Settings/index.erb
  169. +35 0 imageupload/app/Settings/login.bb.erb
  170. +31 0 imageupload/app/Settings/login.erb
  171. +15 0 imageupload/app/Settings/reset.bb.erb
  172. +18 0 imageupload/app/Settings/reset.erb
  173. +3 0  imageupload/app/Settings/wait.bb.erb
  174. +5 0 imageupload/app/Settings/wait.erb
  175. +12 0 imageupload/app/application.rb
  176. +108 0 imageupload/app/helpers/application_helper.rb
  177. +18 0 imageupload/app/helpers/browser_helper.rb
  178. +26 0 imageupload/app/index.bb.erb
  179. +23 0 imageupload/app/index.erb
  180. +25 0 imageupload/app/layout.erb
  181. +11 0 imageupload/app/loading.html
  182. +7 0 imageupload/app/test/image_spec.rb
  183. +18 0 imageupload/build.yml
  184. BIN  imageupload/icon/icon.ico
  185. BIN  imageupload/icon/icon.png
  186. +296 0 imageupload/public/css/android.css
  187. +115 0 imageupload/public/css/blackberry.css
  188. +382 0 imageupload/public/css/iphone.css
  189. +41 0 imageupload/public/css/webkit.css
  190. +212 0 imageupload/public/css/windows_mobile.css
  191. +21 0 imageupload/public/images/IUI_LICENSE.txt
  192. BIN  imageupload/public/images/android/btn_check_off.png
  193. BIN  imageupload/public/images/android/btn_check_on.png
  194. BIN  imageupload/public/images/android/btn_radio_off.png
  195. BIN  imageupload/public/images/android/btn_radio_on.png
  196. BIN  imageupload/public/images/android/disclosure.png
  197. BIN  imageupload/public/images/android/ic_menu_more.png
  198. BIN  imageupload/public/images/backButton.png
  199. BIN  imageupload/public/images/blueButton.png
  200. BIN  imageupload/public/images/cancel.png
  201. BIN  imageupload/public/images/grayButton.png
  202. BIN  imageupload/public/images/iphone/disclosure.png
  203. BIN  imageupload/public/images/iphone/disclosure_detail.png
  204. BIN  imageupload/public/images/iphone/radiobutton.png
  205. BIN  imageupload/public/images/iphone/select.png
  206. BIN  imageupload/public/images/iphone/switch.png
  207. BIN  imageupload/public/images/iui-logo-touch-icon.png
  208. BIN  imageupload/public/images/listArrow.png
  209. BIN  imageupload/public/images/listArrowDown.png
  210. BIN  imageupload/public/images/listArrowSel.png
  211. BIN  imageupload/public/images/listGroup.png
  212. BIN  imageupload/public/images/loading.gif
  213. BIN  imageupload/public/images/pinstripes.png
  214. BIN  imageupload/public/images/right_button.png
  215. BIN  imageupload/public/images/selection.png
  216. BIN  imageupload/public/images/thumb.png
  217. BIN  imageupload/public/images/toggle.png
  218. BIN  imageupload/public/images/toggleOn.png
  219. BIN  imageupload/public/images/toolButton.png
  220. BIN  imageupload/public/images/toolButton_new.png
  221. BIN  imageupload/public/images/toolbar.png
  222. BIN  imageupload/public/images/whiteButton.png
  223. +1 0  imageupload/public/js/application.js
  224. +4 0 imageupload/public/js/rho.js
  225. +59 0 imageupload/public/js/rhogeolocation-wm.js
  226. +11 0 imageupload/public/js/rhogeolocation.js
  227. +26 0 imageupload/rhoconfig.txt
  228. +19 0 metastore-server/Rakefile
  229. +27 0 metastore-server/application.rb
  230. +33 0 metastore-server/config.ru
  231. BIN  metastore-server/dump.rdb
  232. +1 0  metastore-server/settings/license.key
  233. +17 0 metastore-server/settings/settings.yml
  234. +174 0 metastore-server/sources/person.rb
  235. +25 0 metastore-server/spec/sources/person_spec.rb
  236. +27 0 metastore-server/spec/spec_helper.rb
  237. +28 0 metastore/Rakefile
  238. +34 0 metastore/app/Person/edit.bb.erb
  239. +33 0 metastore/app/Person/edit.erb
  240. +21 0 metastore/app/Person/index.bb.erb
  241. +23 0 metastore/app/Person/index.erb
  242. +34 0 metastore/app/Person/new.bb.erb
  243. +32 0 metastore/app/Person/new.erb
  244. +7 0 metastore/app/Person/person.rb
  245. +62 0 metastore/app/Person/person_controller.rb
  246. +31 0 metastore/app/Person/show.bb.erb
  247. +29 0 metastore/app/Person/show.erb
  248. +75 0 metastore/app/Settings/controller.rb
  249. +17 0 metastore/app/Settings/home.bb.erb
  250. +23 0 metastore/app/Settings/home.erb
  251. +32 0 metastore/app/Settings/index.bb.erb
  252. +46 0 metastore/app/Settings/index.erb
  253. +35 0 metastore/app/Settings/login.bb.erb
  254. +31 0 metastore/app/Settings/login.erb
  255. +15 0 metastore/app/Settings/reset.bb.erb
  256. +18 0 metastore/app/Settings/reset.erb
  257. +3 0  metastore/app/Settings/wait.bb.erb
  258. +5 0 metastore/app/Settings/wait.erb
  259. +12 0 metastore/app/application.rb
  260. +108 0 metastore/app/helpers/application_helper.rb
  261. +18 0 metastore/app/helpers/browser_helper.rb
  262. +26 0 metastore/app/index.bb.erb
  263. +23 0 metastore/app/index.erb
  264. +25 0 metastore/app/layout.erb
  265. +11 0 metastore/app/loading.html
  266. +7 0 metastore/app/test/person_spec.rb
  267. +16 0 metastore/build.yml
  268. BIN  metastore/icon/icon.ico
  269. BIN  metastore/icon/icon.png
  270. +287 0 metastore/public/css/android.css
  271. +115 0 metastore/public/css/blackberry.css
  272. +382 0 metastore/public/css/iphone.css
  273. +41 0 metastore/public/css/webkit.css
  274. +212 0 metastore/public/css/windows_mobile.css
  275. +21 0 metastore/public/images/IUI_LICENSE.txt
  276. BIN  metastore/public/images/android/btn_check_off.png
  277. BIN  metastore/public/images/android/btn_check_on.png
  278. BIN  metastore/public/images/android/btn_radio_off.png
  279. BIN  metastore/public/images/android/btn_radio_on.png
  280. BIN  metastore/public/images/android/ic_menu_more.png
  281. BIN  metastore/public/images/backButton.png
  282. BIN  metastore/public/images/blueButton.png
  283. BIN  metastore/public/images/cancel.png
  284. BIN  metastore/public/images/grayButton.png
  285. BIN  metastore/public/images/iphone/disclosure.png
  286. BIN  metastore/public/images/iphone/disclosure_detail.png
  287. BIN  metastore/public/images/iphone/radiobutton.png
  288. BIN  metastore/public/images/iphone/select.png
  289. BIN  metastore/public/images/iphone/switch.png
  290. BIN  metastore/public/images/iui-logo-touch-icon.png
  291. BIN  metastore/public/images/listArrow.png
  292. BIN  metastore/public/images/listArrowDown.png
  293. BIN  metastore/public/images/listArrowSel.png
  294. BIN  metastore/public/images/listGroup.png
  295. BIN  metastore/public/images/loading.gif
  296. BIN  metastore/public/images/pinstripes.png
  297. BIN  metastore/public/images/right_button.png
  298. BIN  metastore/public/images/selection.png
  299. BIN  metastore/public/images/thumb.png
  300. BIN  metastore/public/images/toggle.png
  301. BIN  metastore/public/images/toggleOn.png
  302. BIN  metastore/public/images/toolButton.png
  303. BIN  metastore/public/images/toolButton_new.png
  304. BIN  metastore/public/images/toolbar.png
  305. BIN  metastore/public/images/whiteButton.png
  306. +1 0  metastore/public/js/application.js
  307. +4 0 metastore/public/js/rho.js
  308. +59 0 metastore/public/js/rhogeolocation-wm.js
  309. +11 0 metastore/public/js/rhogeolocation.js
  310. +23 0 metastore/rhoconfig.txt
  311. +28 0 nativecontrol/Rakefile
  312. +29 0 nativecontrol/app/Person/edit.bb.erb
  313. +28 0 nativecontrol/app/Person/edit.erb
  314. +21 0 nativecontrol/app/Person/index.bb.erb
  315. +31 0 nativecontrol/app/Person/index.erb
  316. +29 0 nativecontrol/app/Person/new.bb.erb
  317. +27 0 nativecontrol/app/Person/new.erb
  318. +7 0 nativecontrol/app/Person/person.rb
  319. +111 0 nativecontrol/app/Person/person_controller.rb
  320. +26 0 nativecontrol/app/Person/show.bb.erb
  321. +24 0 nativecontrol/app/Person/show.erb
  322. +29 0 nativecontrol/app/Product/edit.bb.erb
  323. +28 0 nativecontrol/app/Product/edit.erb
  324. +21 0 nativecontrol/app/Product/index.bb.erb
  325. +23 0 nativecontrol/app/Product/index.erb
  326. +29 0 nativecontrol/app/Product/new.bb.erb
  327. +27 0 nativecontrol/app/Product/new.erb
  328. +7 0 nativecontrol/app/Product/product.rb
  329. +63 0 nativecontrol/app/Product/product_controller.rb
  330. +26 0 nativecontrol/app/Product/show.bb.erb
  331. +24 0 nativecontrol/app/Product/show.erb
  332. +75 0 nativecontrol/app/Settings/controller.rb
  333. +17 0 nativecontrol/app/Settings/home.bb.erb
  334. +23 0 nativecontrol/app/Settings/home.erb
  335. +32 0 nativecontrol/app/Settings/index.bb.erb
  336. +46 0 nativecontrol/app/Settings/index.erb
  337. +35 0 nativecontrol/app/Settings/login.bb.erb
  338. +31 0 nativecontrol/app/Settings/login.erb
  339. +15 0 nativecontrol/app/Settings/reset.bb.erb
  340. +18 0 nativecontrol/app/Settings/reset.erb
  341. +3 0  nativecontrol/app/Settings/wait.bb.erb
  342. +5 0 nativecontrol/app/Settings/wait.erb
  343. +28 0 nativecontrol/app/application.rb
  344. +108 0 nativecontrol/app/helpers/application_helper.rb
  345. +18 0 nativecontrol/app/helpers/browser_helper.rb
  346. +26 0 nativecontrol/app/index.bb.erb
  347. +29 0 nativecontrol/app/index.erb
  348. +25 0 nativecontrol/app/layout.erb
  349. +11 0 nativecontrol/app/loading.html
  350. +7 0 nativecontrol/app/test/person_spec.rb
  351. +7 0 nativecontrol/app/test/product_spec.rb
  352. +18 0 nativecontrol/build.yml
  353. BIN  nativecontrol/icon/icon.ico
  354. BIN  nativecontrol/icon/icon.png
  355. +287 0 nativecontrol/public/css/android.css
  356. +115 0 nativecontrol/public/css/blackberry.css
  357. +382 0 nativecontrol/public/css/iphone.css
  358. +41 0 nativecontrol/public/css/webkit.css
  359. +212 0 nativecontrol/public/css/windows_mobile.css
  360. +21 0 nativecontrol/public/images/IUI_LICENSE.txt
  361. BIN  nativecontrol/public/images/android/btn_check_off.png
  362. BIN  nativecontrol/public/images/android/btn_check_on.png
  363. BIN  nativecontrol/public/images/android/btn_radio_off.png
  364. BIN  nativecontrol/public/images/android/btn_radio_on.png
  365. BIN  nativecontrol/public/images/android/ic_menu_more.png
  366. BIN  nativecontrol/public/images/backButton.png
  367. BIN  nativecontrol/public/images/blueButton.png
  368. BIN  nativecontrol/public/images/cancel.png
  369. BIN  nativecontrol/public/images/grayButton.png
  370. BIN  nativecontrol/public/images/iphone/disclosure.png
  371. BIN  nativecontrol/public/images/iphone/disclosure_detail.png
  372. BIN  nativecontrol/public/images/iphone/radiobutton.png
  373. BIN  nativecontrol/public/images/iphone/select.png
  374. BIN  nativecontrol/public/images/iphone/switch.png
  375. BIN  nativecontrol/public/images/iui-logo-touch-icon.png
  376. BIN  nativecontrol/public/images/listArrow.png
  377. BIN  nativecontrol/public/images/listArrowDown.png
  378. BIN  nativecontrol/public/images/listArrowSel.png
  379. BIN  nativecontrol/public/images/listGroup.png
  380. BIN  nativecontrol/public/images/loading.gif
  381. BIN  nativecontrol/public/images/pinstripes.png
  382. BIN  nativecontrol/public/images/right_button.png
  383. BIN  nativecontrol/public/images/selection.png
  384. BIN  nativecontrol/public/images/thumb.png
  385. BIN  nativecontrol/public/images/toggle.png
  386. BIN  nativecontrol/public/images/toggleOn.png
  387. BIN  nativecontrol/public/images/toolButton.png
  388. BIN  nativecontrol/public/images/toolButton_new.png
  389. BIN  nativecontrol/public/images/toolbar.png
  390. BIN  nativecontrol/public/images/whiteButton.png
  391. +1 0  nativecontrol/public/js/application.js
  392. +4 0 nativecontrol/public/js/rho.js
  393. +59 0 nativecontrol/public/js/rhogeolocation-wm.js
  394. +11 0 nativecontrol/public/js/rhogeolocation.js
  395. +23 0 nativecontrol/rhoconfig.txt
  396. +28 0 pimalerts/Rakefile
  397. +7 0 pimalerts/app/Alerts/alerts.rb
  398. +68 0 pimalerts/app/Alerts/alerts_controller.rb
  399. +59 0 pimalerts/app/Alerts/index.erb
  400. +24 0 pimalerts/app/Person/edit.bb.erb
  401. +32 0 pimalerts/app/Person/edit.erb
  402. +21 0 pimalerts/app/Person/index.bb.erb
  403. +23 0 pimalerts/app/Person/index.erb
  404. +24 0 pimalerts/app/Person/new.bb.erb
  405. +29 0 pimalerts/app/Person/new.erb
  406. +7 0 pimalerts/app/Person/person.rb
  407. +56 0 pimalerts/app/Person/person_controller.rb
  408. +21 0 pimalerts/app/Person/show.bb.erb
  409. +34 0 pimalerts/app/Person/show.erb
  410. +75 0 pimalerts/app/Settings/controller.rb
  411. +17 0 pimalerts/app/Settings/home.bb.erb
  412. +23 0 pimalerts/app/Settings/home.erb
  413. +32 0 pimalerts/app/Settings/index.bb.erb
  414. +46 0 pimalerts/app/Settings/index.erb
  415. +35 0 pimalerts/app/Settings/login.bb.erb
  416. +31 0 pimalerts/app/Settings/login.erb
  417. +15 0 pimalerts/app/Settings/reset.bb.erb
  418. +18 0 pimalerts/app/Settings/reset.erb
  419. +3 0  pimalerts/app/Settings/wait.bb.erb
  420. +5 0 pimalerts/app/Settings/wait.erb
  421. +12 0 pimalerts/app/application.rb
  422. +108 0 pimalerts/app/helpers/application_helper.rb
  423. +18 0 pimalerts/app/helpers/browser_helper.rb
  424. +26 0 pimalerts/app/index.bb.erb
  425. +29 0 pimalerts/app/index.erb
  426. +25 0 pimalerts/app/layout.erb
  427. +11 0 pimalerts/app/loading.html
  428. +7 0 pimalerts/app/test/alerts_spec.rb
  429. +7 0 pimalerts/app/test/person_spec.rb
  430. +24 0 pimalerts/build.yml
  431. BIN  pimalerts/icon/icon.ico
  432. BIN  pimalerts/icon/icon.png
  433. BIN  pimalerts/public/20 Flip Strings.mp3
  434. +296 0 pimalerts/public/css/android.css
  435. +115 0 pimalerts/public/css/blackberry.css
  436. +382 0 pimalerts/public/css/iphone.css
  437. +41 0 pimalerts/public/css/webkit.css
  438. +212 0 pimalerts/public/css/windows_mobile.css
  439. +21 0 pimalerts/public/images/IUI_LICENSE.txt
  440. BIN  pimalerts/public/images/android/btn_check_off.png
  441. BIN  pimalerts/public/images/android/btn_check_on.png
  442. BIN  pimalerts/public/images/android/btn_radio_off.png
  443. BIN  pimalerts/public/images/android/btn_radio_on.png
  444. BIN  pimalerts/public/images/android/disclosure.png
  445. BIN  pimalerts/public/images/android/ic_menu_more.png
  446. BIN  pimalerts/public/images/backButton.png
  447. BIN  pimalerts/public/images/blueButton.png
  448. BIN  pimalerts/public/images/cancel.png
  449. BIN  pimalerts/public/images/grayButton.png
  450. BIN  pimalerts/public/images/iphone/disclosure.png
  451. BIN  pimalerts/public/images/iphone/disclosure_detail.png
  452. BIN  pimalerts/public/images/iphone/radiobutton.png
  453. BIN  pimalerts/public/images/iphone/select.png
  454. BIN  pimalerts/public/images/iphone/switch.png
  455. BIN  pimalerts/public/images/iui-logo-touch-icon.png
  456. BIN  pimalerts/public/images/listArrow.png
  457. BIN  pimalerts/public/images/listArrowDown.png
  458. BIN  pimalerts/public/images/listArrowSel.png
  459. BIN  pimalerts/public/images/listGroup.png
  460. BIN  pimalerts/public/images/loading.gif
  461. BIN  pimalerts/public/images/pinstripes.png
  462. BIN  pimalerts/public/images/right_button.png
  463. BIN  pimalerts/public/images/selection.png
  464. BIN  pimalerts/public/images/thumb.png
  465. BIN  pimalerts/public/images/toggle.png
  466. BIN  pimalerts/public/images/toggleOn.png
  467. BIN  pimalerts/public/images/toolButton.png
  468. BIN  pimalerts/public/images/toolButton_new.png
  469. BIN  pimalerts/public/images/toolbar.png
  470. BIN  pimalerts/public/images/whiteButton.png
  471. BIN  pimalerts/public/information_bar.wav
  472. +1 0  pimalerts/public/js/application.js
  473. +4 0 pimalerts/public/js/rho.js
  474. +59 0 pimalerts/public/js/rhogeolocation-wm.js
  475. +11 0 pimalerts/public/js/rhogeolocation.js
  476. +26 0 pimalerts/rhoconfig.txt
19 contact-server/Rakefile
... ... @@ -0,0 +1,19 @@
  1 +begin
  2 + require 'vendor/rhosync/lib/rhosync/tasks'
  3 + require 'vendor/rhosync/lib/rhosync'
  4 +rescue LoadError
  5 + require 'rhosync/tasks'
  6 + require 'rhosync'
  7 +end
  8 +
  9 +ROOT_PATH = File.expand_path(File.dirname(__FILE__))
  10 +
  11 +begin
  12 + require 'resque/tasks'
  13 + task "resque:setup" do
  14 + require 'application'
  15 + end
  16 +rescue LoadError
  17 + puts "Resque not available. Install it with: "
  18 + puts "gem install resque\n\n"
  19 +end
27 contact-server/application.rb
... ... @@ -0,0 +1,27 @@
  1 +class Application < Rhosync::Base
  2 + class << self
  3 + def authenticate(username,password,session)
  4 + true # do some interesting authentication here...
  5 + end
  6 +
  7 + # Add hooks for application startup here
  8 + # Don't forget to call super at the end!
  9 + def initializer(path)
  10 + super
  11 + end
  12 +
  13 + # Calling super here returns rack tempfile path:
  14 + # i.e. /var/folders/J4/J4wGJ-r6H7S313GEZ-Xx5E+++TI
  15 + # Note: This tempfile is removed when server stops or crashes...
  16 + # See http://rack.rubyforge.org/doc/Multipart.html for more info
  17 + #
  18 + # Override this by creating a copy of the file somewhere
  19 + # and returning the path to that file (then don't call super!):
  20 + # i.e. /mnt/myimages/soccer.png
  21 + def store_blob(blob)
  22 + super #=> returns blob[:tempfile]
  23 + end
  24 + end
  25 +end
  26 +
  27 +Application.initializer(ROOT_PATH)
33 contact-server/config.ru
... ... @@ -0,0 +1,33 @@
  1 +#!/usr/bin/env ruby
  2 +
  3 +# Try to load vendor-ed rhosync, otherwise load the gem
  4 +begin
  5 + require 'vendor/rhosync/lib/rhosync/server'
  6 + require 'vendor/rhosync/lib/rhosync/console/server'
  7 +rescue LoadError
  8 + require 'rhosync/server'
  9 + require 'rhosync/console/server'
  10 +end
  11 +
  12 +# By default, turn on the resque web console
  13 +require 'resque/server'
  14 +
  15 +ROOT_PATH = File.expand_path(File.dirname(__FILE__))
  16 +
  17 +# Rhosync server flags
  18 +Rhosync::Server.disable :run
  19 +Rhosync::Server.disable :clean_trace
  20 +Rhosync::Server.enable :raise_errors
  21 +Rhosync::Server.set :environment, :development
  22 +Rhosync::Server.set :secret, '<changeme>'
  23 +Rhosync::Server.set :root, ROOT_PATH
  24 +Rhosync::Server.use Rack::Static, :urls => ["/data"], :root => Rhosync::Server.root
  25 +
  26 +# Load our rhosync application
  27 +require 'application'
  28 +
  29 +# Setup the url map
  30 +run Rack::URLMap.new \
  31 + "/" => Rhosync::Server.new,
  32 + "/resque" => Resque::Server.new, # If you don't want resque frontend, disable it here
  33 + "/console" => RhosyncConsole::Server.new # If you don't want rhosync frontend, disable it here
BIN  contact-server/dump.rdb
Binary file not shown
1  contact-server/settings/license.key
... ... @@ -0,0 +1 @@
  1 +858fc60fadfde40273d0ac505906969318aa4931d1a2c4aeb24d98393c74379f60e226651601969874257f7f1fbda9b099ecd551a641519aa46819947fda0191
17 contact-server/settings/settings.yml
... ... @@ -0,0 +1,17 @@
  1 +#Sources
  2 +:sources:
  3 + Customer:
  4 + :poll_interval: 300
  5 +
  6 +:test:
  7 + :redis: localhost:6379
  8 + :licensefile: settings/license.key
  9 + :syncserver: http://localhost:9292/application/
  10 +:development:
  11 + :redis: localhost:6379
  12 + :licensefile: settings/license.key
  13 + :syncserver: http://localhost:9292/application/
  14 +:production:
  15 + :redis: localhost:6379
  16 + :licensefile: settings/license.key
  17 + :syncserver: http://localhost:9292/application/
34 contact-server/sources/customer.rb
... ... @@ -0,0 +1,34 @@
  1 +class Customer < SourceAdapter
  2 + def initialize(source,credential)
  3 + @base = 'http://rhostore.heroku.com/customers'
  4 + super(source,credential)
  5 + end
  6 +
  7 + def query(params=nil)
  8 + parsed=JSON.parse(RestClient.get("#{@base}.json").body)
  9 +
  10 + @result={}
  11 + parsed.each { |item|@result[item["customer"]["id"].to_s]=item["customer"] } if parsed
  12 + @result
  13 + end
  14 +
  15 + def create(name_value_list)
  16 + res = RestClient.post(@base,:customer => name_value_list)
  17 +
  18 + # after create we are redirected to the new record.
  19 + # We need to get the id of that record and return it as part of create
  20 + # so rhosync can establish a link from its temporary object on the
  21 + # client to this newly created object on the server
  22 + JSON.parse(RestClient.get("#{res.headers[:location]}.json").body)["customer"]["id"]
  23 + end
  24 +
  25 + def update(name_value_list)
  26 + obj_id = name_value_list['id']
  27 + name_value_list.delete('id')
  28 + RestClient.put("#{@base}/#{obj_id}",:customer => name_value_list)
  29 + end
  30 +
  31 + def delete(name_value_list)
  32 + RestClient.delete("#{@base}/#{name_value_list['id']}")
  33 + end
  34 +end
25 contact-server/spec/sources/customer_spec.rb
... ... @@ -0,0 +1,25 @@
  1 +require File.join(File.dirname(__FILE__),'..','spec_helper')
  2 +
  3 +describe "Customer" do
  4 + it_should_behave_like "SpecHelper"
  5 +
  6 + before(:each) do
  7 + setup_test_for Customer,'testuser'
  8 + end
  9 +
  10 + it "should process Customer query" do
  11 + pending
  12 + end
  13 +
  14 + it "should process Customer create" do
  15 + pending
  16 + end
  17 +
  18 + it "should process Customer update" do
  19 + pending
  20 + end
  21 +
  22 + it "should process Customer delete" do
  23 + pending
  24 + end
  25 +end
27 contact-server/spec/spec_helper.rb
... ... @@ -0,0 +1,27 @@
  1 +require 'rubygems'
  2 +
  3 +# Set environment to test
  4 +ENV['RHO_ENV'] = 'test'
  5 +ROOT_PATH = File.expand_path(File.join(File.dirname(__FILE__),'..'))
  6 +
  7 +# Try to load vendor-ed rhosync, otherwise load the gem
  8 +begin
  9 + require 'vendor/rhosync/lib/rhosync'
  10 +rescue LoadError
  11 + require 'rhosync'
  12 +end
  13 +
  14 +# Load our rhosync application
  15 +require 'application'
  16 +include Rhosync
  17 +
  18 +require 'rhosync/test_methods'
  19 +
  20 +describe "SpecHelper", :shared => true do
  21 + include Rhosync::TestMethods
  22 +
  23 + before(:each) do
  24 + Store.db.flushdb
  25 + Application.initializer(ROOT_PATH)
  26 + end
  27 +end
28 contact/Rakefile
... ... @@ -0,0 +1,28 @@
  1 +require 'yaml'
  2 +
  3 +unless File.exists? "build.yml"
  4 + puts "Cannot find build.yml"
  5 + exit 1
  6 +end
  7 +
  8 +
  9 +$app_config = YAML::load_file("build.yml")
  10 +$app_path = File.expand_path(File.dirname(__FILE__))
  11 +
  12 +if ENV["RHO_HOME"].nil?
  13 + rakefilepath = "#{$app_config["sdk"]}/Rakefile"
  14 +else
  15 + rakefilepath = "#{ENV["RHO_HOME"]}/Rakefile"
  16 +end
  17 +
  18 +unless File.exists? rakefilepath
  19 + puts "\nCannot find your Rhodes gem or source path."
  20 + puts "\nIf you have the sdk on your path or have installed the gem this"
  21 + puts "can be resolved by running 'set-rhodes-sdk'"
  22 + puts "\nYou can also set this manually by modifying your build.yml or"
  23 + puts "setting the environment variable RHO_HOME"
  24 + exit 1
  25 +end
  26 +
  27 +load rakefilepath
  28 +
7 contact/app/Customer/customer.rb
... ... @@ -0,0 +1,7 @@
  1 +# The model has already been created by the framework, and extends Rhom::RhomObject
  2 +# You can add more methods here
  3 +class Customer
  4 + include Rhom::PropertyBag
  5 + enable :sync
  6 + #add model specifc code here
  7 +end
112 contact/app/Customer/customer_controller.rb
... ... @@ -0,0 +1,112 @@
  1 +require 'rho/rhocontroller'
  2 +require 'helpers/browser_helper'
  3 +
  4 +class CustomerController < Rho::RhoController
  5 + include BrowserHelper
  6 +
  7 + def map_it
  8 + @customer = Customer.find(@params["id"])
  9 + map_params = {
  10 + :settings => {:map_type => "hybrid",:region => [@customer.lat, @customer.long, 0.2, 0.2],
  11 + :zoom_enabled => true,:scroll_enabled => true,:shows_user_location => false,
  12 + :api_key => 'Google Maps API Key'},
  13 + :annotations => [{
  14 + :latitude => @customer.lat,
  15 + :longitude => @customer.long,
  16 + :title => "#{@customer.first} #{@customer.last}",
  17 + :subtitle => "Go to customer",
  18 + :url => "/app/Customer/{#{@customer.object}}"
  19 + }]
  20 + }
  21 +
  22 + MapView.create map_params
  23 +
  24 + redirect :action => :index
  25 + end
  26 +
  27 + def map_all
  28 + if !GeoLocation.known_position?
  29 + GeoLocation.set_notification( url_for(:action => :geo_callback), "", 2)
  30 + redirect :action => :wait
  31 + else
  32 + @customers = Customer.find(:all)
  33 + annotations = []
  34 + @customers.each do |customer|
  35 + annotations << {
  36 + :latitude => customer.lat,
  37 + :longitude => customer.long,
  38 + :title => "#{customer.first} #{customer.last}",
  39 + :subtitle => "",
  40 + :url => "/app/Customer/{#{customer.object}}"
  41 + }
  42 + end
  43 + map_params = {
  44 + :settings => {:map_type => "hybrid",:region => [GeoLocation.latitude, GeoLocation.longitude, 0.21, 0.21],
  45 + :zoom_enabled => true,:scroll_enabled => true,:shows_user_location => false,
  46 + :api_key => 'Google Maps API Key'},
  47 + :annotations => annotations
  48 + }
  49 +
  50 + MapView.create map_params
  51 +
  52 + redirect :action => :index
  53 + end
  54 + end
  55 +
  56 + def geo_callback
  57 + WebView.navigate url_for(:action => :map_all) if @params['known_position'].to_i != 0 && @params['status'] == 'ok'
  58 + end
  59 +
  60 + #GET /Customer
  61 + def index
  62 + @customers = Customer.find(:all)
  63 + render
  64 + end
  65 +
  66 + # GET /Customer/{1}
  67 + def show
  68 + @customer = Customer.find(@params['id'])
  69 + if @customer
  70 + render :action => :show
  71 + else
  72 + redirect :action => :index
  73 + end
  74 + end
  75 +
  76 + # GET /Customer/new
  77 + def new
  78 + @customer = Customer.new
  79 + render :action => :new
  80 + end
  81 +
  82 + # GET /Customer/{1}/edit
  83 + def edit
  84 + @customer = Customer.find(@params['id'])
  85 + if @customer
  86 + render :action => :edit
  87 + else
  88 + redirect :action => :index
  89 + end
  90 + end
  91 +
  92 + # POST /Customer/create
  93 + def create
  94 + @customer = Customer.new(@params['customer'])
  95 + @customer.save
  96 + redirect :action => :index
  97 + end
  98 +
  99 + # POST /Customer/{1}/update
  100 + def update
  101 + @customer = Customer.find(@params['id'])
  102 + @customer.update_attributes(@params['customer']) if @customer
  103 + redirect :action => :index
  104 + end
  105 +
  106 + # POST /Customer/{1}/delete
  107 + def delete
  108 + @customer = Customer.find(@params['id'])
  109 + @customer.destroy if @customer
  110 + redirect :action => :index
  111 + end
  112 +end
69 contact/app/Customer/edit.bb.erb
... ... @@ -0,0 +1,69 @@
  1 +<div id="pageTitle">
  2 + <h1>Edit <%= @customer.first%></h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <%= link_to "Back", :action => :show, :id => @customer.object %>
  7 + <%= link_to "Delete", :action => :delete, :id => @customer.object %>
  8 +</div>
  9 +
  10 +
  11 +<div id="content">
  12 + <form method="POST" action="<%= url_for :action => :update %>">
  13 + <input type="hidden" name="id" value="<%= @customer.object %>"/>
  14 + <table>
  15 +
  16 + <tr>
  17 + <td class="itemLabel">First: </td>
  18 + <td class="itemValue"><input type="text" name="customer[first]" value="<%= @customer.first %>"/></td>
  19 + </tr>
  20 +
  21 + <tr>
  22 + <td class="itemLabel">Last: </td>
  23 + <td class="itemValue"><input type="text" name="customer[last]" value="<%= @customer.last %>"/></td>
  24 + </tr>
  25 +
  26 + <tr>
  27 + <td class="itemLabel">Email: </td>
  28 + <td class="itemValue"><input type="text" name="customer[email]" value="<%= @customer.email %>"/></td>
  29 + </tr>
  30 +
  31 + <tr>
  32 + <td class="itemLabel">Phone: </td>
  33 + <td class="itemValue"><input type="text" name="customer[phone]" value="<%= @customer.phone %>"/></td>
  34 + </tr>
  35 +
  36 + <tr>
  37 + <td class="itemLabel">Address: </td>
  38 + <td class="itemValue"><input type="text" name="customer[address]" value="<%= @customer.address %>"/></td>
  39 + </tr>
  40 +
  41 + <tr>
  42 + <td class="itemLabel">City: </td>
  43 + <td class="itemValue"><input type="text" name="customer[city]" value="<%= @customer.city %>"/></td>
  44 + </tr>
  45 +
  46 + <tr>
  47 + <td class="itemLabel">State: </td>
  48 + <td class="itemValue"><input type="text" name="customer[state]" value="<%= @customer.state %>"/></td>
  49 + </tr>
  50 +
  51 + <tr>
  52 + <td class="itemLabel">Zip: </td>
  53 + <td class="itemValue"><input type="text" name="customer[zip]" value="<%= @customer.zip %>"/></td>
  54 + </tr>
  55 +
  56 + <tr>
  57 + <td class="itemLabel">Lat: </td>
  58 + <td class="itemValue"><input type="text" name="customer[lat]" value="<%= @customer.lat %>"/></td>
  59 + </tr>
  60 +
  61 + <tr>
  62 + <td class="itemLabel">Long: </td>
  63 + <td class="itemValue"><input type="text" name="customer[long]" value="<%= @customer.long %>"/></td>
  64 + </tr>
  65 +
  66 + </table>
  67 + <input type="submit" class="standardButton" value="Update" />
  68 + </form>
  69 +</div>
68 contact/app/Customer/edit.erb
... ... @@ -0,0 +1,68 @@
  1 +<div id="pageTitle">
  2 + <h1>Edit <%= @customer.first%></h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <div id="leftItem" class="backButton"><%= link_to "Cancel", :action => :show, :id => @customer.object %></div>
  7 + <div id="rightItem" class="regularButton"><%= link_to "Delete", :action => :delete, :id => @customer.object %></div>
  8 +</div>
  9 +
  10 +<div id="content">
  11 + <form method="POST" action="<%= url_for :action => :update %>">
  12 + <input type="hidden" name="id" value="<%= @customer.object %>"/>
  13 + <ul>
  14 +
  15 + <li>
  16 + <label for="customer[first]" class="fieldLabel">First</label>
  17 + <input type="text" name="customer[first]" value="<%= @customer.first%>" <%= placeholder( "First" ) %> />
  18 + </li>
  19 +
  20 + <li>
  21 + <label for="customer[last]" class="fieldLabel">Last</label>
  22 + <input type="text" name="customer[last]" value="<%= @customer.last%>" <%= placeholder( "Last" ) %> />
  23 + </li>
  24 +
  25 + <li>
  26 + <label for="customer[email]" class="fieldLabel">Email</label>
  27 + <input type="text" name="customer[email]" value="<%= @customer.email%>" <%= placeholder( "Email" ) %> />
  28 + </li>
  29 +
  30 + <li>
  31 + <label for="customer[phone]" class="fieldLabel">Phone</label>
  32 + <input type="text" name="customer[phone]" value="<%= @customer.phone%>" <%= placeholder( "Phone" ) %> />
  33 + </li>
  34 +
  35 + <li>
  36 + <label for="customer[address]" class="fieldLabel">Address</label>
  37 + <input type="text" name="customer[address]" value="<%= @customer.address%>" <%= placeholder( "Address" ) %> />
  38 + </li>
  39 +
  40 + <li>
  41 + <label for="customer[city]" class="fieldLabel">City</label>
  42 + <input type="text" name="customer[city]" value="<%= @customer.city%>" <%= placeholder( "City" ) %> />
  43 + </li>
  44 +
  45 + <li>
  46 + <label for="customer[state]" class="fieldLabel">State</label>
  47 + <input type="text" name="customer[state]" value="<%= @customer.state%>" <%= placeholder( "State" ) %> />
  48 + </li>
  49 +
  50 + <li>
  51 + <label for="customer[zip]" class="fieldLabel">Zip</label>
  52 + <input type="text" name="customer[zip]" value="<%= @customer.zip%>" <%= placeholder( "Zip" ) %> />
  53 + </li>
  54 +
  55 + <li>
  56 + <label for="customer[lat]" class="fieldLabel">Lat</label>
  57 + <input type="text" name="customer[lat]" value="<%= @customer.lat%>" <%= placeholder( "Lat" ) %> />
  58 + </li>
  59 +
  60 + <li>
  61 + <label for="customer[long]" class="fieldLabel">Long</label>
  62 + <input type="text" name="customer[long]" value="<%= @customer.long%>" <%= placeholder( "Long" ) %> />
  63 + </li>
  64 +
  65 + </ul>
  66 + <input type="submit" class="standardButton" value="Update" />
  67 + </form>
  68 +</div>
21 contact/app/Customer/index.bb.erb
... ... @@ -0,0 +1,21 @@
  1 +<div id="pageTitle">
  2 + <h1>Customers</h1>
  3 +</div>
  4 +
  5 +
  6 +<div id="toolbar">
  7 + <%= link_to "New", :action => :new %>
  8 + <%= link_to "Home", RhoConfig::start_path %>
  9 +</div>
  10 +
  11 +<div id="content">
  12 + <table>
  13 + <tr>
  14 + <% @customers.each do |obj| %>
  15 +
  16 + <td class="recordLabel"><%= link_to "#{obj.first}", :action => :show, :id => obj.object %></td>
  17 +
  18 + <% end %>
  19 + </tr>
  20 + </table>
  21 +</div>
29 contact/app/Customer/index.erb
... ... @@ -0,0 +1,29 @@
  1 +<div id="pageTitle">
  2 + <h1>Customers</h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <div id="leftItem" class="regularButton"><%= link_to "Home", Rho::RhoConfig.start_path %></div>
  7 + <div id="rightItem" class="regularButton"><%= link_to "New", :controller => :Customer, :action => :new %></div>
  8 +</div>
  9 +
  10 +<div id="content">
  11 + <ul>
  12 + <li>
  13 + <a href="<%= url_for :action => :map_all %>">
  14 + <span class="title">Map all</span>
  15 + <span class="disclosure_indicator"></span>
  16 + </a>
  17 + </li>
  18 + <% @customers.each do |obj| %>
  19 +
  20 + <li>
  21 + <a href="<%= url_for :action => :show, :id => obj.object %>">
  22 + <span class="title"><%= obj.first %></span>
  23 + <span class="disclosure_indicator"></span>
  24 + </a>
  25 + </li>
  26 +
  27 + <% end %>
  28 + </ul>
  29 +</div>
69 contact/app/Customer/new.bb.erb
... ... @@ -0,0 +1,69 @@
  1 +<div id="pageTitle">
  2 + <h1>New Customer</h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <%= link_to "Back", :action => :index %>
  7 +</div>
  8 +
  9 +
  10 +<div id="content">
  11 +
  12 + <form method="POST" action="<%= url_for :action => :create %>">
  13 + <input type="hidden" name="id" value="<%= @customer.object %>"/>
  14 + <table>
  15 +
  16 + <tr>
  17 + <td class="itemLabel">First: </td>
  18 + <td class="itemValue"><input type="text" name="customer[first]"/></td>
  19 + </tr>
  20 +
  21 + <tr>
  22 + <td class="itemLabel">Last: </td>
  23 + <td class="itemValue"><input type="text" name="customer[last]"/></td>
  24 + </tr>
  25 +
  26 + <tr>
  27 + <td class="itemLabel">Email: </td>
  28 + <td class="itemValue"><input type="text" name="customer[email]"/></td>
  29 + </tr>
  30 +
  31 + <tr>
  32 + <td class="itemLabel">Phone: </td>
  33 + <td class="itemValue"><input type="text" name="customer[phone]"/></td>
  34 + </tr>
  35 +
  36 + <tr>
  37 + <td class="itemLabel">Address: </td>
  38 + <td class="itemValue"><input type="text" name="customer[address]"/></td>
  39 + </tr>
  40 +
  41 + <tr>
  42 + <td class="itemLabel">City: </td>
  43 + <td class="itemValue"><input type="text" name="customer[city]"/></td>
  44 + </tr>
  45 +
  46 + <tr>
  47 + <td class="itemLabel">State: </td>
  48 + <td class="itemValue"><input type="text" name="customer[state]"/></td>
  49 + </tr>
  50 +
  51 + <tr>
  52 + <td class="itemLabel">Zip: </td>
  53 + <td class="itemValue"><input type="text" name="customer[zip]"/></td>
  54 + </tr>
  55 +
  56 + <tr>
  57 + <td class="itemLabel">Lat: </td>
  58 + <td class="itemValue"><input type="text" name="customer[lat]"/></td>
  59 + </tr>
  60 +
  61 + <tr>
  62 + <td class="itemLabel">Long: </td>
  63 + <td class="itemValue"><input type="text" name="customer[long]"/></td>
  64 + </tr>
  65 +
  66 + </table>
  67 + <input type="submit" class="standardButton" value="Create" />
  68 + </form>
  69 +</div>
67 contact/app/Customer/new.erb
... ... @@ -0,0 +1,67 @@
  1 +<div id="pageTitle">
  2 + <h1>New <%= @customer.title %></h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <div id="leftItem" class="backButton"><%= link_to "Cancel", :action => :index %></div>
  7 +</div>
  8 +
  9 +<div id="content">
  10 + <form method="POST" action="<%= url_for :action => :create %>">
  11 + <input type="hidden" name="id" value="<%= @customer.object %>"/>
  12 + <ul>
  13 +
  14 + <li>
  15 + <label for="customer[first]" class="fieldLabel">First</label>
  16 + <input type="text" name="customer[first]" <%= placeholder( "First" ) %> />
  17 + </li>
  18 +
  19 + <li>
  20 + <label for="customer[last]" class="fieldLabel">Last</label>
  21 + <input type="text" name="customer[last]" <%= placeholder( "Last" ) %> />
  22 + </li>
  23 +
  24 + <li>
  25 + <label for="customer[email]" class="fieldLabel">Email</label>
  26 + <input type="text" name="customer[email]" <%= placeholder( "Email" ) %> />
  27 + </li>
  28 +
  29 + <li>
  30 + <label for="customer[phone]" class="fieldLabel">Phone</label>
  31 + <input type="text" name="customer[phone]" <%= placeholder( "Phone" ) %> />
  32 + </li>
  33 +
  34 + <li>
  35 + <label for="customer[address]" class="fieldLabel">Address</label>
  36 + <input type="text" name="customer[address]" <%= placeholder( "Address" ) %> />
  37 + </li>
  38 +
  39 + <li>
  40 + <label for="customer[city]" class="fieldLabel">City</label>
  41 + <input type="text" name="customer[city]" <%= placeholder( "City" ) %> />
  42 + </li>
  43 +
  44 + <li>
  45 + <label for="customer[state]" class="fieldLabel">State</label>
  46 + <input type="text" name="customer[state]" <%= placeholder( "State" ) %> />
  47 + </li>
  48 +
  49 + <li>
  50 + <label for="customer[zip]" class="fieldLabel">Zip</label>
  51 + <input type="text" name="customer[zip]" <%= placeholder( "Zip" ) %> />
  52 + </li>
  53 +
  54 + <li>
  55 + <label for="customer[lat]" class="fieldLabel">Lat</label>
  56 + <input type="text" name="customer[lat]" <%= placeholder( "Lat" ) %> />
  57 + </li>
  58 +
  59 + <li>
  60 + <label for="customer[long]" class="fieldLabel">Long</label>
  61 + <input type="text" name="customer[long]" <%= placeholder( "Long" ) %> />
  62 + </li>
  63 +
  64 + </ul>
  65 + <input type="submit" class="standardButton" value="Create" />
  66 + </form>
  67 +</div>
66 contact/app/Customer/show.bb.erb
... ... @@ -0,0 +1,66 @@
  1 +<div id="pageTitle">
  2 + <h1><%= @customer.first%></h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <%= link_to "Back", :action => :index %>
  7 + <%= link_to "Edit", :action => :edit, :id => @customer.object %>
  8 +</div>
  9 +
  10 +
  11 +<div id="content">
  12 +
  13 + <table>
  14 +
  15 + <tr>
  16 + <td class="itemLabel">First</td>
  17 + <td class="itemValue"><%= @customer.first%></td>
  18 + </tr>
  19 +
  20 + <tr>
  21 + <td class="itemLabel">Last</td>
  22 + <td class="itemValue"><%= @customer.last%></td>
  23 + </tr>
  24 +
  25 + <tr>
  26 + <td class="itemLabel">Email</td>
  27 + <td class="itemValue"><%= @customer.email%></td>
  28 + </tr>
  29 +
  30 + <tr>
  31 + <td class="itemLabel">Phone</td>
  32 + <td class="itemValue"><%= @customer.phone%></td>
  33 + </tr>
  34 +
  35 + <tr>
  36 + <td class="itemLabel">Address</td>
  37 + <td class="itemValue"><%= @customer.address%></td>
  38 + </tr>
  39 +
  40 + <tr>
  41 + <td class="itemLabel">City</td>
  42 + <td class="itemValue"><%= @customer.city%></td>
  43 + </tr>
  44 +
  45 + <tr>
  46 + <td class="itemLabel">State</td>
  47 + <td class="itemValue"><%= @customer.state%></td>
  48 + </tr>
  49 +
  50 + <tr>
  51 + <td class="itemLabel">Zip</td>
  52 + <td class="itemValue"><%= @customer.zip%></td>
  53 + </tr>
  54 +
  55 + <tr>
  56 + <td class="itemLabel">Lat</td>
  57 + <td class="itemValue"><%= @customer.lat%></td>
  58 + </tr>
  59 +
  60 + <tr>
  61 + <td class="itemLabel">Long</td>
  62 + <td class="itemValue"><%= @customer.long%></td>
  63 + </tr>
  64 +
  65 + </table>
  66 +</div>
61 contact/app/Customer/show.erb
... ... @@ -0,0 +1,61 @@
  1 +<div id="pageTitle">
  2 + <h1><%= @customer.first%></h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 + <div id="leftItem" class="backButton"><%= link_to "Back", :action => :index %></div>
  7 + <div id="rightItem" class="regularButton"><%= link_to "Edit", :action => :edit, :id => @customer.object %></div>
  8 +</div>
  9 +
  10 +<div id="content">
  11 + <ul>
  12 +
  13 + <li>
  14 + <div class="itemLabel">First</div>
  15 + <div class="itemValue"><%= @customer.first%></div>
  16 + </li>
  17 +
  18 + <li>
  19 + <div class="itemLabel">Last</div>
  20 + <div class="itemValue"><%= @customer.last%></div>
  21 + </li>
  22 +
  23 + <li>
  24 + <div class="itemLabel">Email</div>
  25 + <div class="itemValue"><%= @customer.email%></div>
  26 + </li>
  27 +
  28 + <li>
  29 + <div class="itemLabel">Phone</div>
  30 + <div class="itemValue"><%= @customer.phone%></div>
  31 + </li>
  32 +
  33 + <li>
  34 + <div class="itemLabel">Address</div>
  35 + <div class="itemValue"><%= @customer.address%></div>
  36 + </li>
  37 +
  38 + <li>
  39 + <div class="itemLabel">City</div>
  40 + <div class="itemValue"><%= @customer.city%></div>
  41 + </li>
  42 +
  43 + <li>
  44 + <div class="itemLabel">State</div>
  45 + <div class="itemValue"><%= @customer.state%></div>
  46 + </li>
  47 +
  48 + <li>
  49 + <div class="itemLabel">Zip</div>
  50 + <div class="itemValue"><%= @customer.zip%></div>
  51 + </li>
  52 +
  53 + <li>
  54 + <a href="<%= url_for( :action => :map_it, :id => @customer.object) %>">
  55 + <span class="title">Show on map</span>
  56 + <span class="disclosure_indicator"></span>
  57 + </a>
  58 + </li>
  59 +
  60 + </ul>
  61 +</div>
10 contact/app/Customer/wait.erb
... ... @@ -0,0 +1,10 @@
  1 +<div id="pageTitle">
  2 + <h1>Wait</h1>
  3 +</div>
  4 +
  5 +<div id="toolbar">
  6 +</div>
  7 +
  8 +<div id="content">
  9 +Please wait while we determine your location.
  10 +</div>
75 contact/app/Settings/controller.rb
... ... @@ -0,0 +1,75 @@
  1 +require 'rho'
  2 +require 'rho/rhocontroller'
  3 +require 'rho/rhoerror'
  4 +require 'helpers/browser_helper'
  5 +
  6 +class SettingsController < Rho::RhoController
  7 + include BrowserHelper
  8 +
  9 + def index
  10 + @msg = @params['msg']
  11 + render
  12 + end
  13 +
  14 + def login
  15 + @msg = @params['msg']
  16 + render :action => :login, :back => '/app'