stockor 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +11 -0
  4. data/Gemfile.lock +220 -0
  5. data/Guardfile +13 -0
  6. data/README.md +7 -0
  7. data/Rakefile +7 -0
  8. data/client/skr/Extension.coffee +12 -0
  9. data/client/skr/components/.gitkeep +0 -0
  10. data/client/skr/components/address/Address.coffee +21 -0
  11. data/client/skr/components/address/address.html +20 -0
  12. data/client/skr/index.js +21 -0
  13. data/client/skr/models/Address.coffee +17 -0
  14. data/client/skr/models/Base.coffee +8 -0
  15. data/client/skr/models/Customer.coffee +26 -0
  16. data/client/skr/models/GlAccount.coffee +10 -0
  17. data/client/skr/models/GlManualEntry.coffee +11 -0
  18. data/client/skr/models/GlPeriod.coffee +10 -0
  19. data/client/skr/models/GlPosting.coffee +15 -0
  20. data/client/skr/models/GlTransaction.coffee +16 -0
  21. data/client/skr/models/IaLine.coffee +19 -0
  22. data/client/skr/models/IaReason.coffee +12 -0
  23. data/client/skr/models/InvLine.coffee +27 -0
  24. data/client/skr/models/InventoryAdjustment.coffee +17 -0
  25. data/client/skr/models/Invoice.coffee +31 -0
  26. data/client/skr/models/Location.coffee +15 -0
  27. data/client/skr/models/PaymentTerm.coffee +11 -0
  28. data/client/skr/models/PickTicket.coffee +19 -0
  29. data/client/skr/models/PoLine.coffee +27 -0
  30. data/client/skr/models/PoReceipt.coffee +20 -0
  31. data/client/skr/models/PorLine.coffee +26 -0
  32. data/client/skr/models/PtLine.coffee +27 -0
  33. data/client/skr/models/PurchaseOrder.coffee +23 -0
  34. data/client/skr/models/SalesOrder.coffee +32 -0
  35. data/client/skr/models/Sku.coffee +21 -0
  36. data/client/skr/models/SkuLoc.coffee +21 -0
  37. data/client/skr/models/SkuTran.coffee +23 -0
  38. data/client/skr/models/SkuVendor.coffee +19 -0
  39. data/client/skr/models/SoLine.coffee +27 -0
  40. data/client/skr/models/Uom.coffee +17 -0
  41. data/client/skr/models/Vendor.coffee +28 -0
  42. data/client/skr/models/VoLine.coffee +23 -0
  43. data/client/skr/models/Voucher.coffee +22 -0
  44. data/client/skr/models/mixins/CodeField.coffee +5 -0
  45. data/client/skr/screens/.gitkeep +0 -0
  46. data/client/skr/screens/Base.coffee +3 -0
  47. data/client/skr/screens/base/index.js +5 -0
  48. data/client/skr/screens/base/index.scss +9 -0
  49. data/client/skr/screens/base/layout.html +3 -0
  50. data/client/skr/screens/customer-maint/CustomerMaint.coffee +49 -0
  51. data/client/skr/screens/customer-maint/index.js +5 -0
  52. data/client/skr/screens/customer-maint/index.scss +9 -0
  53. data/client/skr/screens/customer-maint/layout.html +32 -0
  54. data/client/skr/styles.scss +1 -0
  55. data/client/skr/views/.gitkeep +0 -0
  56. data/client/skr/views/Base.coffee +5 -0
  57. data/config/database.yml +9 -0
  58. data/config/lanes.rb +7 -0
  59. data/config/routes.rb +39 -0
  60. data/config/screens.rb +17 -0
  61. data/config.ru +5 -0
  62. data/db/.gitkeep +0 -0
  63. data/db/migrate/20120110142845_create_skr_sequential_ids.rb +35 -0
  64. data/db/migrate/20140202185309_create_skr_gl_accounts.rb +15 -0
  65. data/db/migrate/20140202193316_create_skr_gl_periods.rb +16 -0
  66. data/db/migrate/20140202193318_create_skr_gl_transactions.rb +14 -0
  67. data/db/migrate/20140202193319_create_skr_gl_postings.rb +16 -0
  68. data/db/migrate/20140202193700_create_skr_gl_manual_entries.rb +13 -0
  69. data/db/migrate/20140213040608_create_skr_payment_terms.rb +16 -0
  70. data/db/migrate/20140220031700_create_skr_addresses.rb +19 -0
  71. data/db/migrate/20140220031800_create_skr_locations.rb +19 -0
  72. data/db/migrate/20140220190836_create_skr_vendors.rb +22 -0
  73. data/db/migrate/20140220203029_create_skr_customers.rb +22 -0
  74. data/db/migrate/20140224034759_create_skr_skus.rb +22 -0
  75. data/db/migrate/20140225032853_create_skr_sku_locs.rb +21 -0
  76. data/db/migrate/20140320030501_create_skr_uoms.rb +19 -0
  77. data/db/migrate/20140321031604_create_skr_sku_vendors.rb +18 -0
  78. data/db/migrate/20140322012143_create_skr_ia_reasons.rb +14 -0
  79. data/db/migrate/20140322014401_create_skr_inventory_adjustments.rb +16 -0
  80. data/db/migrate/20140322023453_create_skr_ia_lines.rb +18 -0
  81. data/db/migrate/20140322035024_create_skr_sku_trans.rb +21 -0
  82. data/db/migrate/20140322223912_create_skr_sales_orders.rb +27 -0
  83. data/db/migrate/20140322223920_create_skr_so_lines.rb +25 -0
  84. data/db/migrate/20140323001446_create_so_details_view.rb +81 -0
  85. data/db/migrate/20140327202102_create_skr_purchase_orders.rb +20 -0
  86. data/db/migrate/20140327202107_create_skr_po_lines.rb +25 -0
  87. data/db/migrate/20140327202207_create_skr_pick_tickets.rb +16 -0
  88. data/db/migrate/20140327202209_create_skr_pt_lines.rb +23 -0
  89. data/db/migrate/20140327224000_create_skr_invoices.rb +25 -0
  90. data/db/migrate/20140327224002_create_skr_inv_lines.rb +23 -0
  91. data/db/migrate/20140330232808_create_skr_sku_loc_details_view.rb +31 -0
  92. data/db/migrate/20140330232810_create_skr_sku_qty_details_view.rb +48 -0
  93. data/db/migrate/20140400164729_create_skr_vouchers.rb +22 -0
  94. data/db/migrate/20140400164733_create_skr_vo_lines.rb +21 -0
  95. data/db/migrate/20140401164729_create_skr_po_receipt.rb +16 -0
  96. data/db/migrate/20140401164740_create_skr_por_line.rb +21 -0
  97. data/db/migrate/20140422024010_create_skr_inv_details_view.rb +42 -0
  98. data/db/schema.sql +2662 -0
  99. data/db/seed/chart_of_accounts.yml +168 -0
  100. data/db/seed/payment_terms.yml +60 -0
  101. data/db/seed.rb +29 -0
  102. data/lib/skr/access_roles.rb +28 -0
  103. data/lib/skr/concerns/acts_as_uom.rb +47 -0
  104. data/lib/skr/concerns/code_identifier.rb +43 -0
  105. data/lib/skr/concerns/gl_tran_extensions.rb +18 -0
  106. data/lib/skr/concerns/has_gl_transaction.rb +67 -0
  107. data/lib/skr/concerns/has_sku_loc_lines.rb +47 -0
  108. data/lib/skr/concerns/immutable_model.rb +32 -0
  109. data/lib/skr/concerns/inv_extensions.rb +24 -0
  110. data/lib/skr/concerns/is_order_like.rb +47 -0
  111. data/lib/skr/concerns/is_sku_loc_line.rb +65 -0
  112. data/lib/skr/concerns/locked_fields.rb +84 -0
  113. data/lib/skr/concerns/pt_extensions.rb +22 -0
  114. data/lib/skr/concerns/random_hash_code.rb +40 -0
  115. data/lib/skr/concerns/so_extensions.rb +30 -0
  116. data/lib/skr/concerns/state_machine.rb +61 -0
  117. data/lib/skr/concerns/visible_id_identifier.rb +53 -0
  118. data/lib/skr/configuration.rb +68 -0
  119. data/lib/skr/db/migration_helpers.rb +178 -0
  120. data/lib/skr/extension.rb +23 -0
  121. data/lib/skr/model.rb +19 -0
  122. data/lib/skr/models/address.rb +97 -0
  123. data/lib/skr/models/business_entity.rb +29 -0
  124. data/lib/skr/models/customer.rb +35 -0
  125. data/lib/skr/models/gl_account.rb +56 -0
  126. data/lib/skr/models/gl_manual_entry.rb +31 -0
  127. data/lib/skr/models/gl_period.rb +13 -0
  128. data/lib/skr/models/gl_posting.rb +54 -0
  129. data/lib/skr/models/gl_transaction.rb +175 -0
  130. data/lib/skr/models/ia_line.rb +129 -0
  131. data/lib/skr/models/ia_reason.rb +16 -0
  132. data/lib/skr/models/inv_line.rb +90 -0
  133. data/lib/skr/models/inventory_adjustment.rb +60 -0
  134. data/lib/skr/models/invoice.rb +159 -0
  135. data/lib/skr/models/location.rb +31 -0
  136. data/lib/skr/models/payment_term.rb +30 -0
  137. data/lib/skr/models/pick_ticket.rb +71 -0
  138. data/lib/skr/models/po_line.rb +69 -0
  139. data/lib/skr/models/po_receipt.rb +51 -0
  140. data/lib/skr/models/por_line.rb +80 -0
  141. data/lib/skr/models/pt_line.rb +74 -0
  142. data/lib/skr/models/purchase_order.rb +112 -0
  143. data/lib/skr/models/sales_order.rb +159 -0
  144. data/lib/skr/models/sequential_id.rb +23 -0
  145. data/lib/skr/models/sku.rb +99 -0
  146. data/lib/skr/models/sku_loc.rb +94 -0
  147. data/lib/skr/models/sku_tran.rb +111 -0
  148. data/lib/skr/models/sku_vendor.rb +26 -0
  149. data/lib/skr/models/so_line.rb +159 -0
  150. data/lib/skr/models/uom.rb +63 -0
  151. data/lib/skr/models/user_proxy.rb +60 -0
  152. data/lib/skr/models/vendor.rb +33 -0
  153. data/lib/skr/models/vo_line.rb +35 -0
  154. data/lib/skr/models/voucher.rb +119 -0
  155. data/lib/skr/standard_pricing_provider.rb +14 -0
  156. data/lib/skr/version.rb +3 -0
  157. data/lib/skr.rb +18 -0
  158. data/lib/stockor.rb +4 -0
  159. data/lib/tasks/debug-activity.rake +58 -0
  160. data/log/test.log +0 -0
  161. data/spec/fixtures/skr/address.yml +2 -0
  162. data/spec/fixtures/skr/customer.yml +2 -0
  163. data/spec/fixtures/skr/gl_account.yml +2 -0
  164. data/spec/fixtures/skr/gl_manual_entry.yml +2 -0
  165. data/spec/fixtures/skr/gl_period.yml +2 -0
  166. data/spec/fixtures/skr/gl_posting.yml +2 -0
  167. data/spec/fixtures/skr/gl_transaction.yml +2 -0
  168. data/spec/fixtures/skr/ia_line.yml +2 -0
  169. data/spec/fixtures/skr/ia_reason.yml +2 -0
  170. data/spec/fixtures/skr/inv_line.yml +2 -0
  171. data/spec/fixtures/skr/inventory_adjustment.yml +2 -0
  172. data/spec/fixtures/skr/invoice.yml +2 -0
  173. data/spec/fixtures/skr/location.yml +2 -0
  174. data/spec/fixtures/skr/payment_term.yml +2 -0
  175. data/spec/fixtures/skr/pick_ticket.yml +2 -0
  176. data/spec/fixtures/skr/po_line.yml +2 -0
  177. data/spec/fixtures/skr/po_receipt.yml +2 -0
  178. data/spec/fixtures/skr/por_line.yml +2 -0
  179. data/spec/fixtures/skr/pt_line.yml +2 -0
  180. data/spec/fixtures/skr/purchase_order.yml +2 -0
  181. data/spec/fixtures/skr/sales_order.yml +2 -0
  182. data/spec/fixtures/skr/sku.yml +2 -0
  183. data/spec/fixtures/skr/sku_loc.yml +2 -0
  184. data/spec/fixtures/skr/sku_tran.yml +2 -0
  185. data/spec/fixtures/skr/sku_vendor.yml +2 -0
  186. data/spec/fixtures/skr/so_line.yml +2 -0
  187. data/spec/fixtures/skr/uom.yml +2 -0
  188. data/spec/fixtures/skr/vendor.yml +2 -0
  189. data/spec/fixtures/skr/vo_line.yml +2 -0
  190. data/spec/fixtures/skr/voucher.yml +2 -0
  191. data/spec/skr/address.rb +10 -0
  192. data/spec/skr/concerns/code_identifier_spec.rb +45 -0
  193. data/spec/skr/customer.rb +10 -0
  194. data/spec/skr/gl_account.rb +10 -0
  195. data/spec/skr/gl_manual_entry.rb +10 -0
  196. data/spec/skr/gl_period.rb +10 -0
  197. data/spec/skr/gl_posting.rb +10 -0
  198. data/spec/skr/gl_transaction.rb +10 -0
  199. data/spec/skr/ia_line.rb +10 -0
  200. data/spec/skr/ia_reason.rb +10 -0
  201. data/spec/skr/inv_line.rb +10 -0
  202. data/spec/skr/inventory_adjustment.rb +10 -0
  203. data/spec/skr/invoice.rb +10 -0
  204. data/spec/skr/location.rb +10 -0
  205. data/spec/skr/models/AddressSpec.coffee +5 -0
  206. data/spec/skr/models/CustomerSpec.coffee +5 -0
  207. data/spec/skr/models/GlAccountSpec.coffee +5 -0
  208. data/spec/skr/models/GlManualEntrySpec.coffee +5 -0
  209. data/spec/skr/models/GlPeriodSpec.coffee +5 -0
  210. data/spec/skr/models/GlPostingSpec.coffee +5 -0
  211. data/spec/skr/models/GlTransactionSpec.coffee +5 -0
  212. data/spec/skr/models/IaLineSpec.coffee +5 -0
  213. data/spec/skr/models/IaReasonSpec.coffee +5 -0
  214. data/spec/skr/models/InvLineSpec.coffee +5 -0
  215. data/spec/skr/models/InventoryAdjustmentSpec.coffee +5 -0
  216. data/spec/skr/models/InvoiceSpec.coffee +5 -0
  217. data/spec/skr/models/LocationSpec.coffee +5 -0
  218. data/spec/skr/models/PaymentTermSpec.coffee +5 -0
  219. data/spec/skr/models/PickTicketSpec.coffee +5 -0
  220. data/spec/skr/models/PoLineSpec.coffee +5 -0
  221. data/spec/skr/models/PoReceiptSpec.coffee +5 -0
  222. data/spec/skr/models/PorLineSpec.coffee +5 -0
  223. data/spec/skr/models/PtLineSpec.coffee +5 -0
  224. data/spec/skr/models/PurchaseOrderSpec.coffee +5 -0
  225. data/spec/skr/models/SalesOrderSpec.coffee +5 -0
  226. data/spec/skr/models/SkuLocSpec.coffee +5 -0
  227. data/spec/skr/models/SkuSpec.coffee +5 -0
  228. data/spec/skr/models/SkuTranSpec.coffee +5 -0
  229. data/spec/skr/models/SkuVendorSpec.coffee +5 -0
  230. data/spec/skr/models/SoLineSpec.coffee +5 -0
  231. data/spec/skr/models/UomSpec.coffee +5 -0
  232. data/spec/skr/models/VendorSpec.coffee +5 -0
  233. data/spec/skr/models/VoLineSpec.coffee +5 -0
  234. data/spec/skr/models/VoucherSpec.coffee +5 -0
  235. data/spec/skr/payment_term.rb +10 -0
  236. data/spec/skr/pick_ticket.rb +10 -0
  237. data/spec/skr/po_line.rb +10 -0
  238. data/spec/skr/po_receipt.rb +10 -0
  239. data/spec/skr/por_line.rb +10 -0
  240. data/spec/skr/pt_line.rb +10 -0
  241. data/spec/skr/purchase_order.rb +10 -0
  242. data/spec/skr/sales_order.rb +10 -0
  243. data/spec/skr/screens/Base.coffee +7 -0
  244. data/spec/skr/screens/CustomerMaint.coffee +7 -0
  245. data/spec/skr/screens/vendor-maint/VendorMaintSpec.coffee +5 -0
  246. data/spec/skr/sku.rb +10 -0
  247. data/spec/skr/sku_loc.rb +10 -0
  248. data/spec/skr/sku_tran.rb +10 -0
  249. data/spec/skr/sku_vendor.rb +10 -0
  250. data/spec/skr/so_line.rb +10 -0
  251. data/spec/skr/spec_helper.rb +26 -0
  252. data/spec/skr/uom.rb +10 -0
  253. data/spec/skr/vendor.rb +10 -0
  254. data/spec/skr/views/AddressSpec.coffee +5 -0
  255. data/spec/skr/vo_line.rb +10 -0
  256. data/spec/skr/voucher.rb +10 -0
  257. data/stockor.gemspec +38 -0
  258. data/tmp/.gitkeep +0 -0
  259. metadata +414 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d0c45ee4aa3b8f1665e8c72dfd5f45d8bced3a69
4
+ data.tar.gz: 1221af04f2361630604639e1e3a71bb9b6c3601a
5
+ SHA512:
6
+ metadata.gz: c603f23d9058af0e245a9936d34f77bc310ee14d3819bdcffe0d002bd3aebb5f5fad0e12101b2a41a0577cd845e181c425d20177c777452ef99cb593f7b30f5c
7
+ data.tar.gz: 80ea94f74a8e80cecf738e9b63872b1d8abf492ce1e91e0e82fe95484f15faa8831809f729d2b9ca1cc0945d7444225e92aaea4d106c044eb54b1dba1ce22bf2
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ public/assets
2
+ tmp/cache
3
+ secrets.yml
4
+ pkg
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "lanes", github: "argosity/lanes", branch: 'master'
4
+
5
+ # Uncomment to enable access control and user administration
6
+ gem "stockor-demo-access", github: "argosity/stockor-demo-access", branch: 'master'
7
+
8
+ gem "faker"
9
+
10
+ gem 'puma'
11
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,220 @@
1
+ GIT
2
+ remote: git://github.com/argosity/lanes.git
3
+ revision: 32b890b59274fadca92a002c1ed458687a5575cc
4
+ branch: master
5
+ specs:
6
+ lanes (0.1.5)
7
+ activerecord (~> 4.2)
8
+ bcrypt (~> 3.1)
9
+ closure-compiler (~> 1.1)
10
+ coffee-script (~> 2.3)
11
+ compass-import-once (~> 1.0)
12
+ execjs (~> 2.2)
13
+ guard (~> 2.0)
14
+ guard-jasmine (~> 2.0)
15
+ guard-minitest (~> 2.3)
16
+ hashie (~> 3.3)
17
+ jasmine-core (~> 2.0)
18
+ message_bus (~> 1.0)
19
+ minitest-around (~> 0.2)
20
+ mocha (~> 1.1)
21
+ oj (~> 2.1)
22
+ pg (~> 0.17)
23
+ rack-test (~> 0.6)
24
+ rack_csrf (~> 2.5)
25
+ rake (~> 10.0)
26
+ require_all (~> 1.3)
27
+ sanitize (~> 3.0)
28
+ sass (~> 3.4)
29
+ sinatra (~> 1.4)
30
+ sprockets (~> 2.0)
31
+ sprockets-helpers (~> 1.1)
32
+ thor (~> 0.19)
33
+ yui-compressor (~> 0.12)
34
+
35
+ GIT
36
+ remote: git://github.com/argosity/stockor-demo-access.git
37
+ revision: 273b03112ec463f0cf16e5e991938ab7a00a6ce0
38
+ branch: master
39
+ specs:
40
+ stockor-demo-access (0.1)
41
+ lanes
42
+
43
+ PATH
44
+ remote: .
45
+ specs:
46
+ stockor (0.1.5)
47
+ aasm
48
+ lanes
49
+
50
+ GEM
51
+ remote: https://rubygems.org/
52
+ specs:
53
+ aasm (4.0.8)
54
+ activemodel (4.2.0)
55
+ activesupport (= 4.2.0)
56
+ builder (~> 3.1)
57
+ activerecord (4.2.0)
58
+ activemodel (= 4.2.0)
59
+ activesupport (= 4.2.0)
60
+ arel (~> 6.0)
61
+ activesupport (4.2.0)
62
+ i18n (~> 0.7)
63
+ json (~> 1.7, >= 1.7.7)
64
+ minitest (~> 5.1)
65
+ thread_safe (~> 0.3, >= 0.3.4)
66
+ tzinfo (~> 1.1)
67
+ arel (6.0.0)
68
+ bcrypt (3.1.10)
69
+ builder (3.2.2)
70
+ byebug (3.5.1)
71
+ columnize (~> 0.8)
72
+ debugger-linecache (~> 1.2)
73
+ slop (~> 3.6)
74
+ celluloid (0.16.0)
75
+ timers (~> 4.0.0)
76
+ childprocess (0.5.5)
77
+ ffi (~> 1.0, >= 1.0.11)
78
+ closure-compiler (1.1.11)
79
+ coderay (1.1.0)
80
+ coffee-script (2.3.0)
81
+ coffee-script-source
82
+ execjs
83
+ coffee-script-source (1.9.0)
84
+ columnize (0.9.0)
85
+ compass-import-once (1.0.5)
86
+ sass (>= 3.2, < 3.5)
87
+ crass (1.0.1)
88
+ debugger-linecache (1.2.0)
89
+ eventmachine (1.0.7)
90
+ execjs (2.3.0)
91
+ faker (1.4.3)
92
+ i18n (~> 0.5)
93
+ ffi (1.9.6)
94
+ formatador (0.2.5)
95
+ growl (1.0.3)
96
+ guard (2.12.1)
97
+ formatador (>= 0.2.4)
98
+ listen (~> 2.7)
99
+ lumberjack (~> 1.0)
100
+ nenv (~> 0.1)
101
+ notiffany (~> 0.0)
102
+ pry (>= 0.9.12)
103
+ shellany (~> 0.0)
104
+ thor (>= 0.18.1)
105
+ guard-compat (1.2.1)
106
+ guard-jasmine (2.0.2)
107
+ childprocess (~> 0.5)
108
+ guard (~> 2.8)
109
+ guard-compat (~> 1.2)
110
+ jasmine (~> 2.1)
111
+ multi_json (~> 1.10)
112
+ thor (~> 0.19)
113
+ tilt
114
+ guard-minitest (2.4.3)
115
+ guard-compat (~> 1.2)
116
+ minitest (>= 3.0)
117
+ hashie (3.4.0)
118
+ hike (1.2.3)
119
+ hitimes (1.2.2)
120
+ i18n (0.7.0)
121
+ jasmine (2.2.0)
122
+ jasmine-core (~> 2.2)
123
+ phantomjs
124
+ rack (>= 1.2.1)
125
+ rake
126
+ jasmine-core (2.2.0)
127
+ json (1.8.2)
128
+ listen (2.8.5)
129
+ celluloid (>= 0.15.2)
130
+ rb-fsevent (>= 0.9.3)
131
+ rb-inotify (>= 0.9)
132
+ lumberjack (1.0.9)
133
+ message_bus (1.0.6)
134
+ eventmachine
135
+ rack (>= 1.1.3)
136
+ redis
137
+ metaclass (0.0.4)
138
+ method_source (0.8.2)
139
+ mini_portile (0.6.2)
140
+ minitest (5.5.1)
141
+ minitest-around (0.3.0)
142
+ minitest (~> 5.0)
143
+ mocha (1.1.0)
144
+ metaclass (~> 0.0.1)
145
+ multi_json (1.10.1)
146
+ nenv (0.2.0)
147
+ nokogiri (1.6.6.2)
148
+ mini_portile (~> 0.6.0)
149
+ nokogumbo (1.2.0)
150
+ nokogiri
151
+ notiffany (0.0.5)
152
+ nenv (~> 0.1)
153
+ shellany (~> 0.0)
154
+ oj (2.11.4)
155
+ pg (0.18.1)
156
+ phantomjs (1.9.8.0)
157
+ pry (0.10.1)
158
+ coderay (~> 1.1.0)
159
+ method_source (~> 0.8.1)
160
+ slop (~> 3.4)
161
+ pry-byebug (3.0.1)
162
+ byebug (~> 3.4)
163
+ pry (~> 0.10)
164
+ puma (2.11.1)
165
+ rack (>= 1.1, < 2.0)
166
+ rack (1.6.0)
167
+ rack-protection (1.5.3)
168
+ rack
169
+ rack-test (0.6.3)
170
+ rack (>= 1.0)
171
+ rack_csrf (2.5.0)
172
+ rack (>= 1.1.0)
173
+ rake (10.4.2)
174
+ rb-fsevent (0.9.4)
175
+ rb-inotify (0.9.5)
176
+ ffi (>= 0.5.0)
177
+ redis (3.2.1)
178
+ require_all (1.3.2)
179
+ sanitize (3.1.1)
180
+ crass (~> 1.0.1)
181
+ nokogiri (>= 1.4.4)
182
+ nokogumbo (= 1.2.0)
183
+ sass (3.4.11)
184
+ shellany (0.0.1)
185
+ sinatra (1.4.5)
186
+ rack (~> 1.4)
187
+ rack-protection (~> 1.4)
188
+ tilt (~> 1.3, >= 1.3.4)
189
+ slop (3.6.0)
190
+ sprockets (2.12.3)
191
+ hike (~> 1.2)
192
+ multi_json (~> 1.0)
193
+ rack (~> 1.0)
194
+ tilt (~> 1.1, != 1.3.0)
195
+ sprockets-helpers (1.1.0)
196
+ sprockets (~> 2.0)
197
+ thor (0.19.1)
198
+ thread_safe (0.3.4)
199
+ tilt (1.4.1)
200
+ timers (4.0.1)
201
+ hitimes
202
+ tzinfo (1.2.2)
203
+ thread_safe (~> 0.1)
204
+ yui-compressor (0.12.0)
205
+
206
+ PLATFORMS
207
+ ruby
208
+
209
+ DEPENDENCIES
210
+ bundler (~> 1.5)
211
+ faker
212
+ growl
213
+ guard
214
+ guard-minitest
215
+ lanes!
216
+ pry-byebug
217
+ puma
218
+ rake
219
+ stockor!
220
+ stockor-demo-access!
data/Guardfile ADDED
@@ -0,0 +1,13 @@
1
+ require "lanes/guard_tasks"
2
+
3
+ Lanes::GuardTasks.run(self, name: "skr") do | tests |
4
+
5
+ tests.client do
6
+
7
+ end
8
+
9
+ tests.server do
10
+
11
+ end
12
+
13
+ end
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # Stockor
2
+
3
+ #### Stockor is a ERP system that contains all the tools you'll need to run a small to medium sized business on the internet.
4
+
5
+ It's an extract of the back-end API from stockor.com, and a rewrite of the user interface to focus on responsive design.
6
+
7
+ A technology demo with a few screens is available at [next-gen.stockor.com](http://next-gen.stockor.com)
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require 'bundler/setup'
2
+ require "bundler/gem_tasks"
3
+ require 'lanes/rake_tasks'
4
+ lib = File.expand_path('../lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+ require_relative 'lib/skr'
7
+ Rake.add_rakelib 'lib/tasks'
@@ -0,0 +1,12 @@
1
+ #= require ./screens/customer-maint
2
+
3
+ class Skr.Extension extends Lanes.Extensions.Base
4
+
5
+ identifier: "skr"
6
+
7
+ setBootstrapData: (data)->
8
+
9
+
10
+ onAvailable: ->
11
+ _.delay ->
12
+ Lanes.Screens.display_id("customer-maint")
File without changes
@@ -0,0 +1,21 @@
1
+ class Skr.Components.Address extends Lanes.Components.Base
2
+
3
+ FILE: FILE
4
+
5
+ writeTemplateName: -> 'address'
6
+
7
+ constructor: (options={})->
8
+ super
9
+ this.access = 'write'
10
+ if @copyFrom = options.copyFrom
11
+ this.bindCopyFrom()
12
+ this.listenTo(this.copyFrom,'change:model', @bindCopyFrom )
13
+
14
+ bindCopyFrom: ->
15
+ old = this.copyFrom.changedAttributes()['model']
16
+ this.stopListening( old, 'change', @applyChange ) if old
17
+ this.listenTo(this.copyFrom.model,'change', @applyChange )
18
+
19
+ applyChange: (model,value,field)->
20
+ for name,value of model.changedAttributes()
21
+ this.model.set(name,value) if this.model.get(name) == model.previous(name)
@@ -0,0 +1,20 @@
1
+ <div class="address">
2
+ <div class="row">
3
+ <%= h.text_field 'name', width:12 %>
4
+ </div>
5
+ <div class="row">
6
+ <%= h.text_field 'phone', widths:[12,6] %>
7
+ <%= h.text_field 'email', widths:[12,6] %>
8
+ </div>
9
+ <div class="row">
10
+ <%= h.text_field 'line1', width:12 %>
11
+ </div>
12
+ <div class="row">
13
+ <%= h.text_field 'line2', width:12 %>
14
+ </div>
15
+ <div class="row">
16
+ <%= h.text_field 'city', widths:[12,12,7,7] %>
17
+ <%= h.text_field 'state', widths:[8,8,3,3] %>
18
+ <%= h.text_field 'postal_code', label: 'Zip', widths:[4,4,2,2] %>
19
+ </div>
20
+ </div>
@@ -0,0 +1,21 @@
1
+ //=require ./models/Base
2
+ //=require ./views/Base
3
+ //=require_tree ./models/mixins
4
+ //=require_tree ./models
5
+ //=require_tree ./views
6
+ //=require_tree ./components
7
+ //=require ./screens/Base
8
+ //=require ./Extension
9
+
10
+ /*
11
+ Files located in the above directories are part of the default
12
+ Javascript build and are downloaded to the client on the initial
13
+ request.
14
+
15
+ Accordingly, only essential files should be included here. Code that
16
+ relates to a screen should be placed in the "screens" directory,
17
+ where it will be loaded dynamically when the screen is displayed.
18
+
19
+ Alternatively, feel free to modify the require statements above to
20
+ only include the paths you need.
21
+ */
@@ -0,0 +1,17 @@
1
+ class Skr.Models.Address extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ name: "string"
8
+ email: "string"
9
+ phone: "string"
10
+ line1: "string"
11
+ line2: "string"
12
+ city: "string"
13
+ state: "string"
14
+ postal_code:"string"
15
+
16
+ modelForAccess: ->
17
+ @parent || this
@@ -0,0 +1,8 @@
1
+ class Skr.Models.Base extends Lanes.Models.Base
2
+
3
+ abstractClass: true
4
+
5
+ constructor: -> super
6
+
7
+
8
+ Skr.Models.Mixins ||= {}
@@ -0,0 +1,26 @@
1
+ class Skr.Models.Customer extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ code: {"type":"string","required":true}
8
+ billing_address_id: {"type":"integer","required":true}
9
+ shipping_address_id: {"type":"integer","required":true}
10
+ terms_id: {"type":"integer","required":true}
11
+ gl_receivables_account_id:{"type":"integer","required":true}
12
+ credit_limit: "bigdec"
13
+ open_balance: "bigdec"
14
+ hash_code: {"type":"string","required":true}
15
+ name: {"type":"string","required":true}
16
+ notes: "string"
17
+ website: "string"
18
+ options: "any"
19
+
20
+ associations:
21
+ billing_address: { model: "Address" }
22
+ shipping_address: { model: "Address" }
23
+ terms: { model: "PaymentTerm" }
24
+ gl_receivables_account: { model: "GlAccount" }
25
+ sales_orders: { collection: "SalesOrder" }
26
+ invoices: { collection: "Invoice" }
@@ -0,0 +1,10 @@
1
+ class Skr.Models.GlAccount extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ number: {"type":"string","required":true}
8
+ name: {"type":"string","required":true}
9
+ description:{"type":"string","required":true}
10
+ is_active: {"type":"boolean","required":true,"default":"true"}
@@ -0,0 +1,11 @@
1
+ class Skr.Models.GlManualEntry extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ visible_id:{"type":"integer","required":true}
8
+ notes: "string"
9
+
10
+ associations:
11
+ gl_transaction: { model: "GlTransaction" }
@@ -0,0 +1,10 @@
1
+ class Skr.Models.GlPeriod extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ year: {"type":"integer","required":true}
8
+ period: {"type":"integer","required":true}
9
+ is_locked:{"type":"boolean","required":true,"default":"false"}
10
+
@@ -0,0 +1,15 @@
1
+ class Skr.Models.GlPosting extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ gl_transaction_id:{"type":"integer","required":true}
8
+ account_number: {"type":"string","required":true}
9
+ amount: {"type":"bigdec","required":true}
10
+ is_debit: {"type":"boolean","required":true}
11
+ year: {"type":"integer","required":true}
12
+ period: {"type":"integer","required":true}
13
+
14
+ associations:
15
+ gl_transaction: { model: "GlTransaction" }
@@ -0,0 +1,16 @@
1
+ class Skr.Models.GlTransaction extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ period_id: {"type":"integer","required":true}
8
+ source_id: "integer"
9
+ source_type:"string"
10
+ description:{"type":"string","required":true}
11
+
12
+ associations:
13
+ source: { model: "Source" }
14
+ period: { model: "GlPeriod" }
15
+ credits: { collection: "GlPosting" }
16
+ debits: { collection: "GlPosting" }
@@ -0,0 +1,19 @@
1
+ class Skr.Models.IaLine extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ inventory_adjustment_id:{"type":"integer","required":true}
8
+ sku_loc_id: {"type":"integer","required":true}
9
+ qty: {"type":"integer","required":true,"default":"1"}
10
+ uom_code: {"type":"string","required":true,"default":"EA"}
11
+ uom_size: {"type":"integer","required":true,"default":"1"}
12
+ cost: "bigdec"
13
+ cost_was_set: {"type":"boolean","required":true,"default":"false"}
14
+
15
+ associations:
16
+ inventory_adjustment: { model: "InventoryAdjustment" }
17
+ sku_loc: { model: "SkuLoc" }
18
+ sku: { model: "Sku" }
19
+ sku_tran: { model: "SkuTran" }
@@ -0,0 +1,12 @@
1
+ class Skr.Models.IaReason extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ gl_account_id:{"type":"integer","required":true}
8
+ code: {"type":"string","required":true}
9
+ description: {"type":"string","required":true}
10
+
11
+ associations:
12
+ gl_account: { model: "GlAccount" }
@@ -0,0 +1,27 @@
1
+ class Skr.Models.InvLine extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ invoice_id: {"type":"integer","required":true}
8
+ sku_loc_id: {"type":"integer","required":true}
9
+ pt_line_id: "integer"
10
+ so_line_id: "integer"
11
+ price: {"type":"bigdec","required":true}
12
+ sku_code: {"type":"string","required":true}
13
+ description:{"type":"string","required":true}
14
+ uom_code: {"type":"string","required":true}
15
+ uom_size: {"type":"integer","required":true}
16
+ position: {"type":"integer","required":true}
17
+ qty: {"type":"integer","required":true}
18
+ is_revised: {"type":"boolean","required":true,"default":"false"}
19
+
20
+ associations:
21
+ invoice: { model: "Invoice" }
22
+ so_line: { model: "SoLine" }
23
+ pt_line: { model: "PtLine" }
24
+ sku_loc: { model: "SkuLoc" }
25
+ sku: { model: "Sku" }
26
+ location: { model: "Location" }
27
+ sku_tran: { model: "SkuTran" }
@@ -0,0 +1,17 @@
1
+ class Skr.Models.InventoryAdjustment extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ visible_id: {"type":"integer","required":true}
8
+ location_id:{"type":"integer","required":true}
9
+ reason_id: {"type":"integer","required":true}
10
+ state: {"type":"string","required":true}
11
+ description:{"type":"string","required":true}
12
+
13
+ associations:
14
+ gl_transaction: { model: "GlTransaction" }
15
+ location: { model: "Location" }
16
+ reason: { model: "IaReason" }
17
+ lines: { collection: "IaLine" }
@@ -0,0 +1,31 @@
1
+ class Skr.Models.Invoice extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ visible_id: {"type":"integer","required":true}
8
+ terms_id: {"type":"integer","required":true}
9
+ customer_id: {"type":"integer","required":true}
10
+ location_id: {"type":"integer","required":true}
11
+ sales_order_id: "integer"
12
+ pick_ticket_id: "integer"
13
+ shipping_address_id:{"type":"integer","required":true}
14
+ billing_address_id: {"type":"integer","required":true}
15
+ amount_paid: {"type":"bigdec","required":true,"default":"0.0"}
16
+ state: {"type":"string","required":true}
17
+ hash_code: {"type":"string","required":true}
18
+ invoice_date: {"type":"any","required":true}
19
+ po_num: "string"
20
+ options: "any"
21
+
22
+ associations:
23
+ sales_order: { model: "SalesOrder" }
24
+ customer: { model: "Customer" }
25
+ location: { model: "Location" }
26
+ terms: { model: "PaymentTerm" }
27
+ pick_ticket: { model: "PickTicket" }
28
+ billing_address: { model: "Address" }
29
+ shipping_address: { model: "Address" }
30
+ gl_transactions: { collection: "GlTransaction" }
31
+ lines: { collection: "InvLine" }
@@ -0,0 +1,15 @@
1
+ class Skr.Models.Location extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ code: {"type":"string","required":true}
8
+ name: {"type":"string","required":true}
9
+ address_id: {"type":"integer","required":true}
10
+ is_active: {"type":"boolean","required":true,"default":"true"}
11
+ gl_branch_code:{"type":"string","required":true,"default":"01"}
12
+
13
+ associations:
14
+ address: { model: "Address" }
15
+ sku_locs: { collection: "SkuLoc" }
@@ -0,0 +1,11 @@
1
+ class Skr.Models.PaymentTerm extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ code: {"type":"string","required":true}
8
+ days: {"type":"integer","required":true,"default":"0"}
9
+ description: {"type":"string","required":true}
10
+ discount_days: "integer"
11
+ discount_amount:"string"
@@ -0,0 +1,19 @@
1
+ class Skr.Models.PickTicket extends Skr.Models.Base
2
+
3
+ FILE: FILE
4
+
5
+ props:
6
+ id: {"type":"integer","required":true}
7
+ visible_id: {"type":"integer","required":true}
8
+ sales_order_id:{"type":"integer","required":true}
9
+ location_id: {"type":"integer","required":true}
10
+ shipped_at: "any"
11
+ is_complete: "boolean"
12
+
13
+ associations:
14
+ sales_order: { model: "SalesOrder" }
15
+ invoice: { model: "Invoice" }
16
+ location: { model: "Location" }
17
+ customer: { model: "Customer" }
18
+ terms: { model: "PaymentTerm" }
19
+ lines: { collection: "PtLine" }