stockor 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +220 -0
- data/Guardfile +13 -0
- data/README.md +7 -0
- data/Rakefile +7 -0
- data/client/skr/Extension.coffee +12 -0
- data/client/skr/components/.gitkeep +0 -0
- data/client/skr/components/address/Address.coffee +21 -0
- data/client/skr/components/address/address.html +20 -0
- data/client/skr/index.js +21 -0
- data/client/skr/models/Address.coffee +17 -0
- data/client/skr/models/Base.coffee +8 -0
- data/client/skr/models/Customer.coffee +26 -0
- data/client/skr/models/GlAccount.coffee +10 -0
- data/client/skr/models/GlManualEntry.coffee +11 -0
- data/client/skr/models/GlPeriod.coffee +10 -0
- data/client/skr/models/GlPosting.coffee +15 -0
- data/client/skr/models/GlTransaction.coffee +16 -0
- data/client/skr/models/IaLine.coffee +19 -0
- data/client/skr/models/IaReason.coffee +12 -0
- data/client/skr/models/InvLine.coffee +27 -0
- data/client/skr/models/InventoryAdjustment.coffee +17 -0
- data/client/skr/models/Invoice.coffee +31 -0
- data/client/skr/models/Location.coffee +15 -0
- data/client/skr/models/PaymentTerm.coffee +11 -0
- data/client/skr/models/PickTicket.coffee +19 -0
- data/client/skr/models/PoLine.coffee +27 -0
- data/client/skr/models/PoReceipt.coffee +20 -0
- data/client/skr/models/PorLine.coffee +26 -0
- data/client/skr/models/PtLine.coffee +27 -0
- data/client/skr/models/PurchaseOrder.coffee +23 -0
- data/client/skr/models/SalesOrder.coffee +32 -0
- data/client/skr/models/Sku.coffee +21 -0
- data/client/skr/models/SkuLoc.coffee +21 -0
- data/client/skr/models/SkuTran.coffee +23 -0
- data/client/skr/models/SkuVendor.coffee +19 -0
- data/client/skr/models/SoLine.coffee +27 -0
- data/client/skr/models/Uom.coffee +17 -0
- data/client/skr/models/Vendor.coffee +28 -0
- data/client/skr/models/VoLine.coffee +23 -0
- data/client/skr/models/Voucher.coffee +22 -0
- data/client/skr/models/mixins/CodeField.coffee +5 -0
- data/client/skr/screens/.gitkeep +0 -0
- data/client/skr/screens/Base.coffee +3 -0
- data/client/skr/screens/base/index.js +5 -0
- data/client/skr/screens/base/index.scss +9 -0
- data/client/skr/screens/base/layout.html +3 -0
- data/client/skr/screens/customer-maint/CustomerMaint.coffee +49 -0
- data/client/skr/screens/customer-maint/index.js +5 -0
- data/client/skr/screens/customer-maint/index.scss +9 -0
- data/client/skr/screens/customer-maint/layout.html +32 -0
- data/client/skr/styles.scss +1 -0
- data/client/skr/views/.gitkeep +0 -0
- data/client/skr/views/Base.coffee +5 -0
- data/config/database.yml +9 -0
- data/config/lanes.rb +7 -0
- data/config/routes.rb +39 -0
- data/config/screens.rb +17 -0
- data/config.ru +5 -0
- data/db/.gitkeep +0 -0
- data/db/migrate/20120110142845_create_skr_sequential_ids.rb +35 -0
- data/db/migrate/20140202185309_create_skr_gl_accounts.rb +15 -0
- data/db/migrate/20140202193316_create_skr_gl_periods.rb +16 -0
- data/db/migrate/20140202193318_create_skr_gl_transactions.rb +14 -0
- data/db/migrate/20140202193319_create_skr_gl_postings.rb +16 -0
- data/db/migrate/20140202193700_create_skr_gl_manual_entries.rb +13 -0
- data/db/migrate/20140213040608_create_skr_payment_terms.rb +16 -0
- data/db/migrate/20140220031700_create_skr_addresses.rb +19 -0
- data/db/migrate/20140220031800_create_skr_locations.rb +19 -0
- data/db/migrate/20140220190836_create_skr_vendors.rb +22 -0
- data/db/migrate/20140220203029_create_skr_customers.rb +22 -0
- data/db/migrate/20140224034759_create_skr_skus.rb +22 -0
- data/db/migrate/20140225032853_create_skr_sku_locs.rb +21 -0
- data/db/migrate/20140320030501_create_skr_uoms.rb +19 -0
- data/db/migrate/20140321031604_create_skr_sku_vendors.rb +18 -0
- data/db/migrate/20140322012143_create_skr_ia_reasons.rb +14 -0
- data/db/migrate/20140322014401_create_skr_inventory_adjustments.rb +16 -0
- data/db/migrate/20140322023453_create_skr_ia_lines.rb +18 -0
- data/db/migrate/20140322035024_create_skr_sku_trans.rb +21 -0
- data/db/migrate/20140322223912_create_skr_sales_orders.rb +27 -0
- data/db/migrate/20140322223920_create_skr_so_lines.rb +25 -0
- data/db/migrate/20140323001446_create_so_details_view.rb +81 -0
- data/db/migrate/20140327202102_create_skr_purchase_orders.rb +20 -0
- data/db/migrate/20140327202107_create_skr_po_lines.rb +25 -0
- data/db/migrate/20140327202207_create_skr_pick_tickets.rb +16 -0
- data/db/migrate/20140327202209_create_skr_pt_lines.rb +23 -0
- data/db/migrate/20140327224000_create_skr_invoices.rb +25 -0
- data/db/migrate/20140327224002_create_skr_inv_lines.rb +23 -0
- data/db/migrate/20140330232808_create_skr_sku_loc_details_view.rb +31 -0
- data/db/migrate/20140330232810_create_skr_sku_qty_details_view.rb +48 -0
- data/db/migrate/20140400164729_create_skr_vouchers.rb +22 -0
- data/db/migrate/20140400164733_create_skr_vo_lines.rb +21 -0
- data/db/migrate/20140401164729_create_skr_po_receipt.rb +16 -0
- data/db/migrate/20140401164740_create_skr_por_line.rb +21 -0
- data/db/migrate/20140422024010_create_skr_inv_details_view.rb +42 -0
- data/db/schema.sql +2662 -0
- data/db/seed/chart_of_accounts.yml +168 -0
- data/db/seed/payment_terms.yml +60 -0
- data/db/seed.rb +29 -0
- data/lib/skr/access_roles.rb +28 -0
- data/lib/skr/concerns/acts_as_uom.rb +47 -0
- data/lib/skr/concerns/code_identifier.rb +43 -0
- data/lib/skr/concerns/gl_tran_extensions.rb +18 -0
- data/lib/skr/concerns/has_gl_transaction.rb +67 -0
- data/lib/skr/concerns/has_sku_loc_lines.rb +47 -0
- data/lib/skr/concerns/immutable_model.rb +32 -0
- data/lib/skr/concerns/inv_extensions.rb +24 -0
- data/lib/skr/concerns/is_order_like.rb +47 -0
- data/lib/skr/concerns/is_sku_loc_line.rb +65 -0
- data/lib/skr/concerns/locked_fields.rb +84 -0
- data/lib/skr/concerns/pt_extensions.rb +22 -0
- data/lib/skr/concerns/random_hash_code.rb +40 -0
- data/lib/skr/concerns/so_extensions.rb +30 -0
- data/lib/skr/concerns/state_machine.rb +61 -0
- data/lib/skr/concerns/visible_id_identifier.rb +53 -0
- data/lib/skr/configuration.rb +68 -0
- data/lib/skr/db/migration_helpers.rb +178 -0
- data/lib/skr/extension.rb +23 -0
- data/lib/skr/model.rb +19 -0
- data/lib/skr/models/address.rb +97 -0
- data/lib/skr/models/business_entity.rb +29 -0
- data/lib/skr/models/customer.rb +35 -0
- data/lib/skr/models/gl_account.rb +56 -0
- data/lib/skr/models/gl_manual_entry.rb +31 -0
- data/lib/skr/models/gl_period.rb +13 -0
- data/lib/skr/models/gl_posting.rb +54 -0
- data/lib/skr/models/gl_transaction.rb +175 -0
- data/lib/skr/models/ia_line.rb +129 -0
- data/lib/skr/models/ia_reason.rb +16 -0
- data/lib/skr/models/inv_line.rb +90 -0
- data/lib/skr/models/inventory_adjustment.rb +60 -0
- data/lib/skr/models/invoice.rb +159 -0
- data/lib/skr/models/location.rb +31 -0
- data/lib/skr/models/payment_term.rb +30 -0
- data/lib/skr/models/pick_ticket.rb +71 -0
- data/lib/skr/models/po_line.rb +69 -0
- data/lib/skr/models/po_receipt.rb +51 -0
- data/lib/skr/models/por_line.rb +80 -0
- data/lib/skr/models/pt_line.rb +74 -0
- data/lib/skr/models/purchase_order.rb +112 -0
- data/lib/skr/models/sales_order.rb +159 -0
- data/lib/skr/models/sequential_id.rb +23 -0
- data/lib/skr/models/sku.rb +99 -0
- data/lib/skr/models/sku_loc.rb +94 -0
- data/lib/skr/models/sku_tran.rb +111 -0
- data/lib/skr/models/sku_vendor.rb +26 -0
- data/lib/skr/models/so_line.rb +159 -0
- data/lib/skr/models/uom.rb +63 -0
- data/lib/skr/models/user_proxy.rb +60 -0
- data/lib/skr/models/vendor.rb +33 -0
- data/lib/skr/models/vo_line.rb +35 -0
- data/lib/skr/models/voucher.rb +119 -0
- data/lib/skr/standard_pricing_provider.rb +14 -0
- data/lib/skr/version.rb +3 -0
- data/lib/skr.rb +18 -0
- data/lib/stockor.rb +4 -0
- data/lib/tasks/debug-activity.rake +58 -0
- data/log/test.log +0 -0
- data/spec/fixtures/skr/address.yml +2 -0
- data/spec/fixtures/skr/customer.yml +2 -0
- data/spec/fixtures/skr/gl_account.yml +2 -0
- data/spec/fixtures/skr/gl_manual_entry.yml +2 -0
- data/spec/fixtures/skr/gl_period.yml +2 -0
- data/spec/fixtures/skr/gl_posting.yml +2 -0
- data/spec/fixtures/skr/gl_transaction.yml +2 -0
- data/spec/fixtures/skr/ia_line.yml +2 -0
- data/spec/fixtures/skr/ia_reason.yml +2 -0
- data/spec/fixtures/skr/inv_line.yml +2 -0
- data/spec/fixtures/skr/inventory_adjustment.yml +2 -0
- data/spec/fixtures/skr/invoice.yml +2 -0
- data/spec/fixtures/skr/location.yml +2 -0
- data/spec/fixtures/skr/payment_term.yml +2 -0
- data/spec/fixtures/skr/pick_ticket.yml +2 -0
- data/spec/fixtures/skr/po_line.yml +2 -0
- data/spec/fixtures/skr/po_receipt.yml +2 -0
- data/spec/fixtures/skr/por_line.yml +2 -0
- data/spec/fixtures/skr/pt_line.yml +2 -0
- data/spec/fixtures/skr/purchase_order.yml +2 -0
- data/spec/fixtures/skr/sales_order.yml +2 -0
- data/spec/fixtures/skr/sku.yml +2 -0
- data/spec/fixtures/skr/sku_loc.yml +2 -0
- data/spec/fixtures/skr/sku_tran.yml +2 -0
- data/spec/fixtures/skr/sku_vendor.yml +2 -0
- data/spec/fixtures/skr/so_line.yml +2 -0
- data/spec/fixtures/skr/uom.yml +2 -0
- data/spec/fixtures/skr/vendor.yml +2 -0
- data/spec/fixtures/skr/vo_line.yml +2 -0
- data/spec/fixtures/skr/voucher.yml +2 -0
- data/spec/skr/address.rb +10 -0
- data/spec/skr/concerns/code_identifier_spec.rb +45 -0
- data/spec/skr/customer.rb +10 -0
- data/spec/skr/gl_account.rb +10 -0
- data/spec/skr/gl_manual_entry.rb +10 -0
- data/spec/skr/gl_period.rb +10 -0
- data/spec/skr/gl_posting.rb +10 -0
- data/spec/skr/gl_transaction.rb +10 -0
- data/spec/skr/ia_line.rb +10 -0
- data/spec/skr/ia_reason.rb +10 -0
- data/spec/skr/inv_line.rb +10 -0
- data/spec/skr/inventory_adjustment.rb +10 -0
- data/spec/skr/invoice.rb +10 -0
- data/spec/skr/location.rb +10 -0
- data/spec/skr/models/AddressSpec.coffee +5 -0
- data/spec/skr/models/CustomerSpec.coffee +5 -0
- data/spec/skr/models/GlAccountSpec.coffee +5 -0
- data/spec/skr/models/GlManualEntrySpec.coffee +5 -0
- data/spec/skr/models/GlPeriodSpec.coffee +5 -0
- data/spec/skr/models/GlPostingSpec.coffee +5 -0
- data/spec/skr/models/GlTransactionSpec.coffee +5 -0
- data/spec/skr/models/IaLineSpec.coffee +5 -0
- data/spec/skr/models/IaReasonSpec.coffee +5 -0
- data/spec/skr/models/InvLineSpec.coffee +5 -0
- data/spec/skr/models/InventoryAdjustmentSpec.coffee +5 -0
- data/spec/skr/models/InvoiceSpec.coffee +5 -0
- data/spec/skr/models/LocationSpec.coffee +5 -0
- data/spec/skr/models/PaymentTermSpec.coffee +5 -0
- data/spec/skr/models/PickTicketSpec.coffee +5 -0
- data/spec/skr/models/PoLineSpec.coffee +5 -0
- data/spec/skr/models/PoReceiptSpec.coffee +5 -0
- data/spec/skr/models/PorLineSpec.coffee +5 -0
- data/spec/skr/models/PtLineSpec.coffee +5 -0
- data/spec/skr/models/PurchaseOrderSpec.coffee +5 -0
- data/spec/skr/models/SalesOrderSpec.coffee +5 -0
- data/spec/skr/models/SkuLocSpec.coffee +5 -0
- data/spec/skr/models/SkuSpec.coffee +5 -0
- data/spec/skr/models/SkuTranSpec.coffee +5 -0
- data/spec/skr/models/SkuVendorSpec.coffee +5 -0
- data/spec/skr/models/SoLineSpec.coffee +5 -0
- data/spec/skr/models/UomSpec.coffee +5 -0
- data/spec/skr/models/VendorSpec.coffee +5 -0
- data/spec/skr/models/VoLineSpec.coffee +5 -0
- data/spec/skr/models/VoucherSpec.coffee +5 -0
- data/spec/skr/payment_term.rb +10 -0
- data/spec/skr/pick_ticket.rb +10 -0
- data/spec/skr/po_line.rb +10 -0
- data/spec/skr/po_receipt.rb +10 -0
- data/spec/skr/por_line.rb +10 -0
- data/spec/skr/pt_line.rb +10 -0
- data/spec/skr/purchase_order.rb +10 -0
- data/spec/skr/sales_order.rb +10 -0
- data/spec/skr/screens/Base.coffee +7 -0
- data/spec/skr/screens/CustomerMaint.coffee +7 -0
- data/spec/skr/screens/vendor-maint/VendorMaintSpec.coffee +5 -0
- data/spec/skr/sku.rb +10 -0
- data/spec/skr/sku_loc.rb +10 -0
- data/spec/skr/sku_tran.rb +10 -0
- data/spec/skr/sku_vendor.rb +10 -0
- data/spec/skr/so_line.rb +10 -0
- data/spec/skr/spec_helper.rb +26 -0
- data/spec/skr/uom.rb +10 -0
- data/spec/skr/vendor.rb +10 -0
- data/spec/skr/views/AddressSpec.coffee +5 -0
- data/spec/skr/vo_line.rb +10 -0
- data/spec/skr/voucher.rb +10 -0
- data/stockor.gemspec +38 -0
- data/tmp/.gitkeep +0 -0
- 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
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
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
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>
|
data/client/skr/index.js
ADDED
@@ -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,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,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" }
|