stockor 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -4
  3. data/Gemfile.lock +104 -87
  4. data/client/skr/api.js +3 -1
  5. data/client/skr/api/Components/AddressForm.cjsx +1 -1
  6. data/client/skr/api/Components/SingleItemCart.cjsx +1 -1
  7. data/client/skr/api/SingleItemCheckout.cjsx +3 -3
  8. data/client/skr/components/BankAccountFinder.cjsx +1 -1
  9. data/client/skr/components/CreditCardForm.cjsx +1 -1
  10. data/client/skr/components/Currency.cjsx +2 -1
  11. data/client/skr/components/CustomerFinder.cjsx +1 -1
  12. data/client/skr/components/CustomerProjectFinder.cjsx +1 -1
  13. data/client/skr/components/ExpenseCategoryFinder.cjsx +34 -0
  14. data/client/skr/components/GlAccountChooser.cjsx +2 -1
  15. data/client/skr/components/InvoiceFinder.cjsx +1 -1
  16. data/client/skr/components/LatexSnippets.cjsx +3 -0
  17. data/client/skr/components/LocationChooser.cjsx +3 -3
  18. data/client/skr/components/PaymentCategoryFinder.cjsx +1 -1
  19. data/client/skr/components/SalesOrderFinder.cjsx +1 -2
  20. data/client/skr/components/SkuFinder.cjsx +1 -1
  21. data/client/skr/components/SystemSettings.cjsx +4 -1
  22. data/client/skr/components/TermsChooser.cjsx +2 -2
  23. data/client/skr/components/ToolbarButton.cjsx +7 -3
  24. data/client/skr/components/TotalsLine.cjsx +5 -1
  25. data/client/skr/components/UserPreferences.cjsx +1 -1
  26. data/client/skr/components/VendorFinder.cjsx +1 -1
  27. data/client/skr/components/address/Address.cjsx +14 -1
  28. data/client/skr/components/styles.scss +6 -0
  29. data/client/skr/index.js +1 -0
  30. data/client/skr/lib/Remote.coffee +32 -0
  31. data/client/skr/lib/index.js +2 -0
  32. data/client/skr/lib/namespace.coffee +1 -0
  33. data/client/skr/models/CreditCardGateway.coffee +1 -1
  34. data/client/skr/models/ExpenseCategory.coffee +11 -0
  35. data/client/skr/models/ExpenseEntry.coffee +64 -0
  36. data/client/skr/models/ExpenseEntryCategory.coffee +11 -0
  37. data/client/skr/models/Invoice.coffee +4 -1
  38. data/client/skr/models/Payment.coffee +2 -2
  39. data/client/skr/models/SalesOrder.coffee +3 -2
  40. data/client/skr/models/SequentialId.coffee +1 -1
  41. data/client/skr/models/Vendor.coffee +1 -1
  42. data/client/skr/models/mixins/PrintSupport.coffee +1 -1
  43. data/client/skr/screens/bank-maint/BankMaint.cjsx +1 -1
  44. data/client/skr/screens/chart-of-accounts/ChartOfAccounts.cjsx +1 -1
  45. data/client/skr/screens/customer-maint/CustomerMaint.cjsx +1 -1
  46. data/client/skr/screens/customer-projects/CustomerProjects.cjsx +1 -1
  47. data/client/skr/screens/expense-categories/ExpenseCategories.cjsx +31 -0
  48. data/client/skr/screens/expense-categories/index.js +5 -0
  49. data/client/skr/screens/expense-categories/index.scss +9 -0
  50. data/client/skr/screens/expense-entry/ApprovalRequest.coffee +14 -0
  51. data/client/skr/screens/expense-entry/ApproveDialog.cjsx +30 -0
  52. data/client/skr/screens/expense-entry/Categories.cjsx +112 -0
  53. data/client/skr/screens/expense-entry/ExpenseEntry.cjsx +193 -0
  54. data/client/skr/screens/expense-entry/Form.cjsx +54 -0
  55. data/client/skr/screens/expense-entry/Grid.cjsx +51 -0
  56. data/client/skr/screens/expense-entry/ScreenState.coffee +1 -0
  57. data/client/skr/screens/expense-entry/index.js +1 -0
  58. data/client/skr/screens/expense-entry/index.scss +106 -0
  59. data/client/skr/screens/fresh-books-import/ApiInfo.cjsx +3 -3
  60. data/client/skr/screens/fresh-books-import/ChooseRecords.cjsx +6 -4
  61. data/client/skr/screens/fresh-books-import/FreshBooksImport.cjsx +1 -1
  62. data/client/skr/screens/fresh-books-import/ViewRecords.cjsx +2 -2
  63. data/client/skr/screens/fresh-books-import/index.scss +5 -4
  64. data/client/skr/screens/gl-accounts/GlAccounts.cjsx +1 -1
  65. data/client/skr/screens/gl-transactions/GlTransactions.cjsx +1 -1
  66. data/client/skr/screens/invoice/Invoice.cjsx +6 -2
  67. data/client/skr/screens/invoice/Payment.cjsx +1 -1
  68. data/client/skr/screens/invoice/TotalExtraInfo.cjsx +32 -0
  69. data/client/skr/screens/invoice/index.scss +4 -2
  70. data/client/skr/screens/locations/Locations.cjsx +1 -1
  71. data/client/skr/screens/payment-category/PaymentCategory.cjsx +1 -1
  72. data/client/skr/screens/payment-terms/PaymentTerms.cjsx +1 -1
  73. data/client/skr/screens/payments/Payments.cjsx +13 -6
  74. data/client/skr/screens/sale-report/SaleReport.cjsx +1 -1
  75. data/client/skr/screens/sales-order/SalesOrder.cjsx +2 -1
  76. data/client/skr/screens/sku-maint/SkuMaint.cjsx +1 -1
  77. data/client/skr/screens/sku-maint/SkuUomList.cjsx +2 -2
  78. data/client/skr/screens/time-invoicing/TimeInvoicing.cjsx +4 -4
  79. data/client/skr/screens/time-tracking/EditEntry.cjsx +2 -2
  80. data/client/skr/screens/time-tracking/Entries.coffee +6 -4
  81. data/client/skr/screens/time-tracking/Popover.cjsx +11 -6
  82. data/client/skr/screens/time-tracking/TimeTracking.cjsx +12 -5
  83. data/client/skr/screens/vendor-maint/VendorMaint.cjsx +2 -2
  84. data/config/database.yml +2 -0
  85. data/config/puma.rb +0 -4
  86. data/config/routes.rb +4 -0
  87. data/config/screens.rb +17 -0
  88. data/db/migrate/20140323001446_create_so_details_view.rb +2 -2
  89. data/db/migrate/20151121211323_create_customer_project_details_views.rb +1 -1
  90. data/db/migrate/20160216142845_create_gl_account_balances_view.rb +1 -1
  91. data/db/migrate/20160726004411_string_check_numbers.rb +5 -0
  92. data/db/migrate/20160805002717_create_expenses.rb +65 -0
  93. data/db/schema.sql +394 -229
  94. data/db/seed.rb +12 -12
  95. data/lib/skr/access_roles.rb +9 -4
  96. data/lib/skr/concerns/has_gl_transaction.rb +1 -1
  97. data/lib/skr/configuration.rb +3 -1
  98. data/lib/skr/db/migration_helpers.rb +2 -2
  99. data/lib/skr/handlers/approve_expense_entries.rb +16 -0
  100. data/lib/skr/handlers/invoice_from_time_entries.rb +1 -1
  101. data/lib/skr/handlers/sequential_ids.rb +2 -2
  102. data/lib/skr/jobs/fresh_books/import.rb +18 -17
  103. data/lib/skr/model.rb +3 -0
  104. data/lib/skr/models/bank_account.rb +9 -0
  105. data/lib/skr/models/expense_category.rb +27 -0
  106. data/lib/skr/models/expense_entry.rb +76 -0
  107. data/lib/skr/models/expense_entry_category.rb +15 -0
  108. data/lib/skr/models/gl_transaction.rb +2 -2
  109. data/lib/skr/models/inv_line.rb +3 -1
  110. data/lib/skr/models/invoice.rb +9 -5
  111. data/lib/skr/models/payment.rb +1 -1
  112. data/lib/skr/models/purchase_order.rb +4 -4
  113. data/lib/skr/models/uom.rb +2 -2
  114. data/lib/skr/models/voucher.rb +4 -4
  115. data/lib/skr/print/form.rb +17 -14
  116. data/lib/skr/version.rb +1 -1
  117. data/spec/fixtures/skr/expense_category.yml +17 -0
  118. data/spec/fixtures/skr/expense_entries.yml +20 -0
  119. data/spec/fixtures/skr/expense_entry_category.yml +19 -0
  120. data/spec/fixtures/skr/gl_account.yml +10 -0
  121. data/spec/server/handlers/invoice_from_time_entries_spec.rb +2 -2
  122. data/spec/server/handlers/sequential_ids_spec.rb +1 -1
  123. data/spec/server/models/expense_category_spec.rb +17 -0
  124. data/spec/server/models/expense_entry_spec.rb +44 -0
  125. data/spec/server/models/invoice_spec.rb +0 -1
  126. data/spec/server/models/spec_helper_spec.rb +5 -10
  127. data/spec/server/spec_helper.rb +12 -11
  128. data/spec/skr/components/SkuLinesSpec.coffee +11 -9
  129. data/spec/skr/models/CustomerSpec.coffee +1 -1
  130. data/spec/skr/models/ExpenseAccountSpec.coffee +5 -0
  131. data/spec/skr/screens/expense-categories/ExpenseCategoriesSpec.coffee +5 -0
  132. data/spec/skr/screens/expense-entry/ExpenseEntrySpec.coffee +5 -0
  133. data/spec/skr/screens/locations/LocationsSpec.coffee +4 -4
  134. data/spec/skr/screens/time-tracking/TimeTrackingSpec.coffee +4 -4
  135. data/stockor.gemspec +2 -3
  136. data/templates/print/partials/header.tex.erb +1 -1
  137. data/templates/print/partials/skus_table_invoice_footer.tex.erb +22 -19
  138. data/templates/print/partials/skus_table_invoice_info_line.tex.erb +5 -1
  139. data/templates/print/types/payment/default.tex.erb +10 -10
  140. metadata +40 -14
  141. data/client/skr/api/onReady.coffee +0 -23
  142. data/spec/skr/api/SingleItemCheckoutSpec.cjsx +0 -10
  143. data/spec/skr/screens/bank-maint/BankMaintSpec.coffee +0 -5
  144. data/spec/skr/screens/gl-accounts/GlAccountsSpec.coffee +0 -5
  145. data/spec/skr/screens/invoice/InvoiceSpec.coffee +0 -5
  146. data/spec/skr/screens/payment-category/PaymentCategorySpec.coffee +0 -5
  147. data/spec/skr/screens/payments/PaymentsSpec.coffee +0 -5
  148. data/spec/skr/screens/sale-report/SaleReportSpec.coffee +0 -5
@@ -8,7 +8,7 @@ describe "Skr.Screens.TimeTracking", ->
8
8
  _.dom(@screen).qs('button[value=month]').click()
9
9
 
10
10
 
11
- it "renders monthly totals", ->
12
- _.dom(@screen).qs('button[value=month]').click()
13
- totals = _.pluck _.dom(@screen).qsa('.day.summary > div'), 'textContent'
14
- expect(totals).toEqual(["28.75", "14.50", "1.50", "2.00"])
11
+ # it "renders monthly totals", ->
12
+ # _.dom(@screen).qs('button[value=month]').click()
13
+ # totals = _.map _.dom(@screen).qsa('.day.summary'), 'textContent'
14
+ # expect(totals).toEqual(['', '', '30.25', '', ''])
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.required_ruby_version = '>= 2.1'
25
25
 
26
- spec.add_dependency 'aasm', '~>4.10.1'
26
+ spec.add_dependency 'aasm', '~> 4.11'
27
27
  spec.add_dependency 'erb_latex', '1.0'
28
- spec.add_dependency 'lanes', '~> 0.5.5'
28
+ spec.add_dependency 'lanes', '~> 0.6'
29
29
  spec.add_dependency 'numbers_in_words', '~> 0.4.0'
30
30
  spec.add_dependency 'ruby-freshbooks', '~> 0.4'
31
31
  spec.add_dependency 'activemerchant', '~> 1.59'
@@ -39,5 +39,4 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "pry-byebug"
40
40
  spec.add_development_dependency "guard-minitest"
41
41
 
42
-
43
42
  end
@@ -1,5 +1,5 @@
1
1
  \lhead{
2
- \begin{tabularx}{\textwidth} {lXr}
2
+ \begin{tabularx}{\textwidth} {l>{\raggedright\arraybackslash}Xr}
3
3
  %<% if @location.get_logo.present? %>
4
4
  \raisebox{1mm}{\includegraphics[align=t,height=18mm,keepaspectratio]{<%= @location.get_logo.file.path %>}}
5
5
  %<% end %>
@@ -14,22 +14,25 @@
14
14
 
15
15
  % \hline
16
16
  <% unless @record.open? -%>
17
- \multicolumn{<%= @ncols-1%>}{r}{{\textbf{Amount Paid}}} &
18
- \textbf{\textsuperscript{\$}<%= Skr::String.number_with_delimiter @record.amount_paid %>} \\
19
- \cline{<%= @ncols-3%>-<%= @ncols%>}
20
- % \hline
21
- %
22
- &
23
- \multicolumn{<%= 1 %>}{l}{{
24
- \begin{rotate}{12}
25
- \resizebox{!}{16pt}{\texttt{\textcolor{BrickRed}{
26
- <%= @record.fully_paid? ? 'PAID IN FULL' : 'PARTIALLY PAID' %>
27
- }}}
28
- \end{rotate}
29
- }} &
30
- %
31
- \multicolumn{<%= @ncols-3%>}{r}{{\textbf{Unpaid Amount}}} &
32
- \textbf{\textsuperscript{\$}<%= Skr::String.number_with_delimiter @record.unpaid_amount %>} \\
33
- \cline{<%= @ncols-3%>-<%= @ncols%>}
34
- % \hline
35
- <% end -%>
17
+ \multicolumn{<%= @ncols-1%>}{r}{{\textbf{Amount Paid}}} &
18
+ \textbf{\textsuperscript{\$}<%= Skr::String.number_with_delimiter @record.payments.total %>} \\
19
+ \cline{<%= @ncols-3%>-<%= @ncols%>}
20
+ % \hline
21
+ %
22
+ &
23
+ \multicolumn{<%= 1 %>}{l}{{
24
+ \begin{rotate}{12}
25
+ \resizebox{!}{16pt}{\texttt{\textcolor{BrickRed}{
26
+ <%= @record.fully_paid? ? 'PAID IN FULL' : 'PARTIALLY PAID' %>
27
+ }}}
28
+ \end{rotate}
29
+ }} &
30
+ <% if @record.unpaid_amount < 0 %>
31
+ \multicolumn{<%= @ncols-3%>}{r}{{\textbf{Overpaid Amount}}} &
32
+ \textbf{\textsuperscript{\$}<%= Skr::String.number_with_delimiter( @record.unpaid_amount * -1 ) %>} \\
33
+ <% else %>
34
+ \multicolumn{<%= @ncols-3%>}{r}{{\textbf{Unpaid Amount}}} &
35
+ \textbf{\textsuperscript{\$}<%= Skr::String.number_with_delimiter @record.unpaid_amount %>} \\
36
+ <% end -%>
37
+ \cline{<%= @ncols-3%>-<%= @ncols%>}
38
+ <% end %>
@@ -1,8 +1,12 @@
1
+ <% cols = 2
2
+ cols += 1 unless @invoice.po_num.blank?
3
+ cols += 1 if @invoice.sales_order
4
+ %>
1
5
  \medskip
2
6
  \begingroup
3
7
  \renewcommand{\arraystretch}{1.5}
4
8
  \setlength{\LTpre}{0pt}
5
- \begin{tabu} to \textwidth { | *{3}{X[l]|} *{3}{l|} }
9
+ \begin{tabu} to \textwidth { |*{<%=cols%>}{X[l]|} }
6
10
  \hline
7
11
  <% unless @invoice.po_num.blank? -%>
8
12
  PO \#: <%=q @invoice.po_num %> &
@@ -7,13 +7,12 @@
7
7
  \noindent
8
8
 
9
9
  \begin{textblock}{195}(10,10)
10
+ \begin{tabularx}{\columnwidth}{l>{\raggedright\arraybackslash}X>{\raggedright\arraybackslash}Xr}
10
11
  <% if (logo = @payment.location.get_logo).present? -%>
11
- \begin{tabularx}{\columnwidth}{lXXr}
12
- \includegraphics[align=t,height=14mm,keepaspectratio]{<%= logo.file.path %>} &
13
- <% else -%>
14
- \begin{tabularx}{\columnwidth}{XXr}
12
+ \includegraphics[align=t,height=14mm,keepaspectratio]{<%= logo.file.path %>}
15
13
  <% end -%>
16
- \small <%= break_lines @payment.location.address.to_s(include: [:phone]) %> &
14
+ &
15
+ \small <%= break_lines @payment.location.address.to_s(include: [:phone]) %> &
17
16
  \scriptsize <%= break_lines @payment.bank_account.address.to_s(include: [:phone]) %> &
18
17
  \raisebox{-3mm}{\shadowbox{\large\bf {CHECK \# <%= @payment.check_number %> } }}\\
19
18
  \end{tabularx}
@@ -32,17 +31,18 @@
32
31
  \end{tabu}
33
32
  \end{textblock}
34
33
  %
34
+ \renewcommand{\tabularxcolumn}[1]{>{\large}m{#1}}
35
35
  \begin{textblock}{200}(10,50)
36
36
  \noindent
37
- \begin{tabu} to \columnwidth{lX}
37
+ \begin{tabularx}{\columnwidth}{l>{\raggedright\arraybackslash}X}
38
38
  \parbox{5em}{\textit{PAY \newline
39
39
  TO THE \newline
40
40
  ORDER\newline
41
41
  OF}}
42
- & \parbox{\linewidth}{\large{<%=q @payment.name %> } \newline
43
- <%= break_lines( @payment.address ) %> } \\
44
- \end{tabu}
45
- \end{textblock}
42
+ & <%=q @payment.name %> \newline
43
+ <%= break_lines( @payment.address ) %> \\
44
+ \end{tabularx}
45
+ \end{textblock}
46
46
  \begin{textblock}{70}(120,65)
47
47
  \noindent
48
48
  \begin{tabu} to \columnwidth{X[1,c,p]}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stockor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Stitt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2016-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aasm
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.10.1
19
+ version: '4.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.10.1
26
+ version: '4.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: erb_latex
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.5.5
47
+ version: '0.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.5.5
54
+ version: '0.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: numbers_in_words
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -239,7 +239,6 @@ files:
239
239
  - client/skr/api/Models/Sku.coffee
240
240
  - client/skr/api/SingleItemCheckout.cjsx
241
241
  - client/skr/api/namespace.js
242
- - client/skr/api/onReady.coffee
243
242
  - client/skr/components/.gitkeep
244
243
  - client/skr/components/BankAccountFinder.cjsx
245
244
  - client/skr/components/CreditCardForm.cjsx
@@ -247,6 +246,7 @@ files:
247
246
  - client/skr/components/CustomerFinder.cjsx
248
247
  - client/skr/components/CustomerLink.cjsx
249
248
  - client/skr/components/CustomerProjectFinder.cjsx
249
+ - client/skr/components/ExpenseCategoryFinder.cjsx
250
250
  - client/skr/components/GlAccountChooser.cjsx
251
251
  - client/skr/components/InvoiceFinder.cjsx
252
252
  - client/skr/components/InvoiceLink.cjsx
@@ -272,6 +272,9 @@ files:
272
272
  - client/skr/components/address/styles.scss
273
273
  - client/skr/components/styles.scss
274
274
  - client/skr/index.js
275
+ - client/skr/lib/Remote.coffee
276
+ - client/skr/lib/index.js
277
+ - client/skr/lib/namespace.coffee
275
278
  - client/skr/models/Address.coffee
276
279
  - client/skr/models/BankAccount.coffee
277
280
  - client/skr/models/Base.coffee
@@ -279,6 +282,9 @@ files:
279
282
  - client/skr/models/CreditCardGateway.coffee
280
283
  - client/skr/models/Customer.coffee
281
284
  - client/skr/models/CustomerProject.coffee
285
+ - client/skr/models/ExpenseCategory.coffee
286
+ - client/skr/models/ExpenseEntry.coffee
287
+ - client/skr/models/ExpenseEntryCategory.coffee
282
288
  - client/skr/models/GlAccount.coffee
283
289
  - client/skr/models/GlManualEntry.coffee
284
290
  - client/skr/models/GlPeriod.coffee
@@ -332,6 +338,18 @@ files:
332
338
  - client/skr/screens/customer-projects/CustomerProjects.cjsx
333
339
  - client/skr/screens/customer-projects/index.js
334
340
  - client/skr/screens/customer-projects/index.scss
341
+ - client/skr/screens/expense-categories/ExpenseCategories.cjsx
342
+ - client/skr/screens/expense-categories/index.js
343
+ - client/skr/screens/expense-categories/index.scss
344
+ - client/skr/screens/expense-entry/ApprovalRequest.coffee
345
+ - client/skr/screens/expense-entry/ApproveDialog.cjsx
346
+ - client/skr/screens/expense-entry/Categories.cjsx
347
+ - client/skr/screens/expense-entry/ExpenseEntry.cjsx
348
+ - client/skr/screens/expense-entry/Form.cjsx
349
+ - client/skr/screens/expense-entry/Grid.cjsx
350
+ - client/skr/screens/expense-entry/ScreenState.coffee
351
+ - client/skr/screens/expense-entry/index.js
352
+ - client/skr/screens/expense-entry/index.scss
335
353
  - client/skr/screens/fresh-books-import/ApiInfo.cjsx
336
354
  - client/skr/screens/fresh-books-import/ChooseRecords.cjsx
337
355
  - client/skr/screens/fresh-books-import/FreshBooksImport.cjsx
@@ -346,6 +364,7 @@ files:
346
364
  - client/skr/screens/gl-transactions/index.scss
347
365
  - client/skr/screens/invoice/Invoice.cjsx
348
366
  - client/skr/screens/invoice/Payment.cjsx
367
+ - client/skr/screens/invoice/TotalExtraInfo.cjsx
349
368
  - client/skr/screens/invoice/index.js
350
369
  - client/skr/screens/invoice/index.scss
351
370
  - client/skr/screens/locations/Locations.cjsx
@@ -443,6 +462,8 @@ files:
443
462
  - db/migrate/20160605024432_create_sku_associations_views.rb
444
463
  - db/migrate/20160608023553_create_invoice_payments.rb
445
464
  - db/migrate/20160620010455_add_payments_to_inv_details.rb
465
+ - db/migrate/20160726004411_string_check_numbers.rb
466
+ - db/migrate/20160805002717_create_expenses.rb
446
467
  - db/schema.sql
447
468
  - db/seed.rb
448
469
  - db/seed/chart_of_accounts.yml
@@ -469,6 +490,7 @@ files:
469
490
  - lib/skr/configuration.rb
470
491
  - lib/skr/db/migration_helpers.rb
471
492
  - lib/skr/extension.rb
493
+ - lib/skr/handlers/approve_expense_entries.rb
472
494
  - lib/skr/handlers/credit_card_gateway.rb
473
495
  - lib/skr/handlers/fresh_books_import.rb
474
496
  - lib/skr/handlers/invoice_from_time_entries.rb
@@ -485,6 +507,9 @@ files:
485
507
  - lib/skr/models/business_entity.rb
486
508
  - lib/skr/models/customer.rb
487
509
  - lib/skr/models/customer_project.rb
510
+ - lib/skr/models/expense_category.rb
511
+ - lib/skr/models/expense_entry.rb
512
+ - lib/skr/models/expense_entry_category.rb
488
513
  - lib/skr/models/gl_account.rb
489
514
  - lib/skr/models/gl_manual_entry.rb
490
515
  - lib/skr/models/gl_period.rb
@@ -534,6 +559,9 @@ files:
534
559
  - spec/fixtures/skr/bank_account.yml
535
560
  - spec/fixtures/skr/customer.yml
536
561
  - spec/fixtures/skr/customer_project.yml
562
+ - spec/fixtures/skr/expense_category.yml
563
+ - spec/fixtures/skr/expense_entries.yml
564
+ - spec/fixtures/skr/expense_entry_category.yml
537
565
  - spec/fixtures/skr/gl_account.yml
538
566
  - spec/fixtures/skr/gl_manual_entry.yml
539
567
  - spec/fixtures/skr/gl_period.yml
@@ -574,6 +602,8 @@ files:
574
602
  - spec/server/jobs/fresh_books/retrieve_spec.rb
575
603
  - spec/server/models/address_spec.rb
576
604
  - spec/server/models/customer_spec.rb
605
+ - spec/server/models/expense_category_spec.rb
606
+ - spec/server/models/expense_entry_spec.rb
577
607
  - spec/server/models/gl_account_spec.rb
578
608
  - spec/server/models/gl_manual_entry_spec.rb
579
609
  - spec/server/models/gl_period_spec.rb
@@ -609,13 +639,13 @@ files:
609
639
  - spec/server/print/template_spec.rb
610
640
  - spec/server/spec_helper.rb
611
641
  - spec/server/time_entry_spec.rb
612
- - spec/skr/api/SingleItemCheckoutSpec.cjsx
613
642
  - spec/skr/components/SkuLinesSpec.coffee
614
643
  - spec/skr/concerns/code_identifier_spec.rb
615
644
  - spec/skr/models/AddressSpec.coffee
616
645
  - spec/skr/models/BankAccountSpec.coffee
617
646
  - spec/skr/models/CustomerProjectSpec.coffee
618
647
  - spec/skr/models/CustomerSpec.coffee
648
+ - spec/skr/models/ExpenseAccountSpec.coffee
619
649
  - spec/skr/models/GlAccountSpec.coffee
620
650
  - spec/skr/models/GlManualEntrySpec.coffee
621
651
  - spec/skr/models/GlPeriodSpec.coffee
@@ -648,16 +678,12 @@ files:
648
678
  - spec/skr/models/VoucherSpec.coffee
649
679
  - spec/skr/screens/Base.coffee
650
680
  - spec/skr/screens/CustomerMaint.coffee
651
- - spec/skr/screens/bank-maint/BankMaintSpec.coffee
652
681
  - spec/skr/screens/customer-projects/CustomerProjectsSpec.coffee
682
+ - spec/skr/screens/expense-categories/ExpenseCategoriesSpec.coffee
683
+ - spec/skr/screens/expense-entry/ExpenseEntrySpec.coffee
653
684
  - spec/skr/screens/fresh-books-import/FreshBooksImportSpec.coffee
654
- - spec/skr/screens/gl-accounts/GlAccountsSpec.coffee
655
- - spec/skr/screens/invoice/InvoiceSpec.coffee
656
685
  - spec/skr/screens/locations/LocationsSpec.coffee
657
- - spec/skr/screens/payment-category/PaymentCategorySpec.coffee
658
686
  - spec/skr/screens/payment-terms/PaymentTermsSpec.coffee
659
- - spec/skr/screens/payments/PaymentsSpec.coffee
660
- - spec/skr/screens/sale-report/SaleReportSpec.coffee
661
687
  - spec/skr/screens/sales-order/SalesOrderSpec.coffee
662
688
  - spec/skr/screens/sku-maint/SkuMaintSpec.coffee
663
689
  - spec/skr/screens/time-invoicing/TimeInvoicingSpec.coffee
@@ -1,23 +0,0 @@
1
- Skr.onDocumentReady = (fn) ->
2
- if document.readyState isnt 'loading'
3
- fn()
4
- else if document.addEventListener
5
- document.addEventListener 'DOMContentLoaded', fn
6
- else
7
- document.attachEvent 'onreadystatechange', ->
8
- fn() if document.readyState != 'loading'
9
-
10
-
11
- SCRIPT_PATH = /\/assets\/skr\/api\.js$/
12
-
13
- Skr.onDocumentReady ->
14
- for tag in document.querySelectorAll('script')
15
- if tag.src.match SCRIPT_PATH
16
- Lanes.config.api_host = tag.src.replace(SCRIPT_PATH, '')
17
- Lanes.config.api_path = Lanes.config.api_host + "/api"
18
- break
19
- if Lanes.config.api_host
20
- css = Lanes.config.api_host + "/assets/skr/api.css"
21
- new Lanes.lib.AssetLoader([css], Lanes.emptyFn)
22
- else
23
- console.error("Unable to find script tag that Stockor was loaded from")
@@ -1,10 +0,0 @@
1
- ##=require 'skr/api'
2
-
3
- describe "Skr.Api.SingleItemCheckout", ->
4
-
5
- # beforeEach ->
6
- # Lanes.Test.ModelSaver.setUser('admin')
7
-
8
-
9
- it "sends failure messages when code isn't set", (done) ->
10
- checkout = LT.renderComponent(Skr.Api.SingleItemCheckout, props: skuCode: 'HAT')
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.BankMaint", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.BankMaint)
5
- expect(_.dom(screen).text).toMatch("Hello")
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.GlAccounts", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.GlAccounts)
5
- expect(_.dom(screen).text).toMatch("Hello")
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.Invoice", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.Invoice)
5
- expect(screen).toBeTruthy()
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.PaymentCategory", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.PaymentCategory)
5
- expect(_.dom(screen).text).toMatch("Hello")
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.Payments", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.Payments)
5
- expect(_.dom(screen).text).toMatch("Hello")
@@ -1,5 +0,0 @@
1
- describe "Skr.Screens.SaleReport", ->
2
-
3
- it "can be rendered", ->
4
- screen = LT.renderComponent(Skr.Screens.SaleReport)
5
- expect(_.dom(screen).text).toMatch("Hello")