Commit Graph

295 Commits

Author SHA1 Message Date
Oliver Walters
c67dc6f56e Initial updates required to run under django 2.2
- Change to middleware.py
- Change some URLs formatting
- Fix django version at 2.2
2019-04-12 20:44:22 +10:00
Oliver
7644617af0 Better string formatting for models
Allows for easier searching in drop-downs for ForeignKeys
2018-05-09 00:17:39 +10:00
Oliver
2c953c73fa Stock tracking tweaks
- Ability to stocktake for entire part
- Enforce addition of notes to stockAdjust modal
2018-05-09 00:06:35 +10:00
Oliver
47aa3c8a45 Login / Logout views
Information found here - https://simpleisbetterthancomplex.com/tutorial/2016/06/27/how-to-use-djangos-built-in-login-system.html
2018-05-08 23:00:27 +10:00
Oliver
002c047105 Added count/add/remove to Part Stock Detail Page 2018-05-08 22:14:18 +10:00
Oliver
3b6ef3f008 Added stocktake / add / remove actions to StockItemDetail page 2018-05-08 22:14:03 +10:00
Oliver
3f1c6e2059 Simplified modal calls
- Default modal target supplied (can be overridden in options)
2018-05-08 19:55:39 +10:00
Oliver
c5155d5ac7 Move modal JS file
- Loaded by base.
2018-05-08 19:40:29 +10:00
Oliver
fdf214626c Further assorted updates
What, you need more commit details?! Pah
2018-05-07 23:40:17 +10:00
Oliver
425db5fd39 Tweaked part stock page 2018-05-07 21:51:08 +10:00
Oliver
deccdce6d9 Part view updates 2018-05-07 08:41:19 +10:00
Oliver
a7abf9731b Add link to stock-item in part-stock view 2018-05-06 22:28:50 +10:00
Oliver
c1e7e95fc0 UI improvements
Consolidated detail pages with OPTIONS drown down
(rather than multiple single buttons)
2018-05-06 22:09:15 +10:00
Oliver
366e03456e Hide 'tracking' tab for now 2018-05-06 19:27:34 +10:00
Oliver
19ce05931c Re-added missing "New Part" button 2018-05-06 19:21:33 +10:00
James Newlands
01da57f0cf If part has no category, page rendered an extra curly brace in JS that caused syntax error. 2018-05-05 21:22:47 +10:00
Oliver
41e031d4b4 Draft API endpoint RUD class
- RUD = Retrieve / Update / Destroy
- When issuing an Update command, the validity is checked but the model object is only saved if the POST data has "_is_final": true
2018-05-05 01:26:01 +10:00
Oliver
7e4b0630b6 Part category API 2018-05-04 23:54:57 +10:00
Oliver
4f63d12837 Consolidated 'Part' app views
- Improved templating
- Part tree open/close status stored to session
2018-05-04 18:55:55 +10:00
Oliver
389908c67a Moved sidenav into block 2018-05-04 17:51:55 +10:00
Oliver
bc716e25f7 Fixed bugs in Inventree/views.py
- Need to pass request.FILES to the form! (duh!) 
 - Prevent form data from being saved twice
2018-05-03 23:40:27 +10:00
Oliver
68cf6919a7 Updated part views
- Allocation table now uses bootstrap-table
- Added checkbox column to supplier table (no function yet)
2018-05-03 23:39:08 +10:00
Oliver
f995f54390 More API / JSON stuff
- SupplierPart JSON API
- Part supplier list
- Company part list
2018-05-03 00:47:03 +10:00
Oliver
49287c0c61 Part 'used-in' view now uses API
- Ajax calls to JSON API
- BootstrapTable
2018-05-03 00:25:01 +10:00
Oliver
0f3150c705 Part stock table now uses API / BootstrapTable 2018-05-02 23:54:28 +10:00
Oliver
1d63147380 Reload BOM table without refreshing enitre page 2018-05-02 23:46:08 +10:00
Oliver
7d21c4ef1c BOM now uses DRF / ajax 2018-05-02 23:42:57 +10:00
Oliver
be0797c6e6 Bootstrap table to company list 2018-05-02 23:17:24 +10:00
Oliver
1899d8f3e9 Stock location part list now uses bootstrap table
- Serializers within serializers!
2018-05-02 23:08:45 +10:00
Oliver
211edb23bb Removed footable
- Now using bootstrap-table
2018-05-02 22:22:43 +10:00
Oliver
024fe04e0e Implemented bootstrap-table for parts list 2018-05-02 22:18:58 +10:00
Oliver
45510b1adc Add category info to part serializer 2018-05-02 20:57:04 +10:00
8cfbf2657e Removed unused maths tag 2018-05-01 10:03:20 +10:00
Oliver
a2ff1d16f3 Introspection of build allocation
Yay for dicts
2018-04-30 22:45:11 +10:00
Oliver
b24ddac0b8 Part stuff 2018-04-30 22:30:15 +10:00
Oliver
f988c9af87 Tweaks for part page(s) 2018-04-30 01:16:57 +10:00
Oliver
bee760d184 Deleted extraneous form code 2018-04-30 00:59:36 +10:00
Oliver
5c902397e3 CSS fixes for .notificaiton-area and .alert 2018-04-30 00:29:39 +10:00
Oliver
a9c20f5d95 Added modal form success messages
- More to be done, just a start
- Create / edit / delete
2018-04-30 00:23:02 +10:00
Oliver
46dea22cd4 Simplified part stock display 2018-04-29 22:07:58 +10:00
Oliver
feb45513f7 Prevent serial number for stock item with quantity > 1 2018-04-29 13:20:02 +10:00
Oliver
9ea3d7bf71 Build tab shows active builds 2018-04-29 13:11:31 +10:00
Oliver
aca0d236ee Javascript consolidation 2018-04-29 12:25:07 +10:00
Oliver
8d0789c37c Implemented tree view
Using library bootstrap-treeview
- part category tree
- stock location tree
- Currenly is functional but looks terrible
2018-04-28 23:22:12 +10:00
Oliver
095492203f Simplified javascript templating
- Load js modules in block js_load
- Write $(document).ready script in block js_ready
- Write any other js in block_js
2018-04-28 12:45:12 +10:00
Oliver
7ebb723d15 Revert "Set initial value fields to disabled for some forms"
This reverts commit c1271367bd.
2018-04-28 12:19:50 +10:00
Oliver
c1271367bd Set initial value fields to disabled for some forms
- Prevent user from changing certain fields
- Only when a form is launched from a particular view
2018-04-28 12:14:18 +10:00
Oliver
2e7253ebc4 Tweak javascript for category detail pages 2018-04-28 11:43:26 +10:00
Oliver
bc597d7c21 Style fixes 2018-04-28 01:16:47 +10:00
Oliver
0dcdce82f8 Modals dialogs for 'Build' 2018-04-28 01:06:42 +10:00
Oliver
f49474ace5 Prevent recursive BOMs
- If A has B in its BOM, A cannot be added to the BOM of B
2018-04-27 23:42:23 +10:00
Oliver
06f9c67b11 Prevent part from adding itself as a BOM item 2018-04-27 23:23:44 +10:00
Oliver
1b5dbfbe26 Reload page when adding BOM item to part 2018-04-27 23:14:25 +10:00
Oliver
4d6e2aca2c Modal forms for stock app 2018-04-27 22:59:08 +10:00
Oliver
c4e305bde6 Loaded both modals into single include 2018-04-27 21:35:36 +10:00
Oliver
e1e3cc71e6 More modal forms
- supplier-part-edit
- supplier-part-delete
2018-04-27 21:32:48 +10:00
Oliver
bc3dca3aba Modal for edit and delete part category 2018-04-27 20:42:12 +10:00
Oliver
5162c1d11f Inline deletion for BOM items 2018-04-27 00:54:01 +10:00
Oliver
507e3de05b Generecised launchModalForm
- Add 'options' e.g. redirect / data
2018-04-27 00:16:54 +10:00
Oliver
784b0dec02 Added AjaxDeleteView
- AjaxDeleteView handles ajaxified delete GET and POST events
- Added modal deletion window
- Added launchDeleteForm jQuery function
2018-04-27 00:06:44 +10:00
Oliver
9fd275ed3e Part Edit view now ajaxified 2018-04-26 23:28:27 +10:00
Oliver
c0902626f4 footable working with BOM items
- Event delegation to capture 'edit' button
2018-04-26 23:05:35 +10:00
Oliver
280f2c36cb Modal form for part creation 2018-04-26 18:22:41 +10:00
Oliver
e395d89a7f Fix issues for AjaxUdpateView
- Works properly now!
- Can edit BOM item inline
- Can add BOM item inline too
2018-04-26 09:26:43 +10:00
Oliver
55e7f365df Added AjaxUpdateView class
Also cleaned up the modal form javascript
2018-04-26 08:18:53 +10:00
Oliver
99743c6bd0 Modal form now working on multiple pages
- Part index
- Part category detail page(s)
2018-04-25 15:34:12 +10:00
Oliver
e3b2bd7129 Abstracted jquery code to load a modal form
- static/scripts/modal_form.js
- bindModalForm function takes care of the mechanics
2018-04-25 15:28:57 +10:00
Oliver
d88da28871 Generic AjaxCreateView
- Allows for same form to be posted
2018-04-25 14:10:56 +10:00
Oliver
8bc4050d05 Modal form is working for 'create new category'
- Had to set form.helper.form_tag to False (so we could control form tags manually)
- Created a 'json' model view
2018-04-25 12:46:58 +10:00
Oliver
9004086632 Add button to launch modal form 2018-04-25 00:09:25 +10:00
Oliver
b114001678 Fixed display of part allocation count 2018-04-24 17:59:20 +10:00
Oliver
f46c09e3a7 Added part category path string to serializer 2018-04-24 17:54:08 +10:00
Oliver
25fcd3e9f1 Simple search filtering for part list
- Needs to be 'generecised'
- Working well for now
2018-04-24 09:06:30 +10:00
Oliver
08ed128bea PEP style fixes 2018-04-23 21:18:35 +10:00
Oliver
86a9b36c99 Add part-list API
- Deleted some old serializers
- Simply list of parts
- Search by name / description
- Orderable by name
2018-04-23 21:10:13 +10:00
Oliver
ac3de4ce3d Add part detail page for company / supplier 2018-04-22 23:07:23 +10:00
Oliver
d44a4e174b Added 'tabs' to company view 2018-04-22 22:38:35 +10:00
Oliver
4bedf0ed4c Finally got migrations working together 2018-04-22 21:54:12 +10:00
Oliver
cef3c664f9 Moving 'supplier' to 'company' 2018-04-19 09:01:25 +10:00
Oliver
a4621295a6 Fixed spash page for customer index
Added 'notes' field to Part object
2018-04-18 01:44:55 +10:00
Oliver
7045443d7b Add tab view for supplier page
- "Parts" tab
- "Orders" tab
2018-04-18 00:42:44 +10:00
Oliver
34d240c6e8 Moved top-level templates to a top-level dir
It just seems fitting is all
2018-04-17 23:42:25 +10:00
Oliver
8856d7f793 Renamed 'customer-order' app to 'customer'
- This app should manage more than just orders
- Moved the 'Customer' model into this app
2018-04-17 23:39:53 +10:00
Oliver
81afd3a47d Merge remote-tracking branch 'origin/customer_orders' 2018-04-17 23:18:08 +10:00
Oliver
291992ab7f Added views and pages for Build model
- Edit / create
- View details
- View build index at /build/
2018-04-17 23:13:41 +10:00
James Newlands
121315f15e Add link to table of orders to nav bar 2018-04-17 23:10:06 +10:00
Oliver
11b9fb10d8 Parts now know how many builds they are allocated to
- allocated_builds returns lists of active builds this part is allocated to
- allocated_build_count returns the total number of this part allocated to builds
- allocation_count returns total number of allocated parts (in the future this will also include those parts allocated to customer orders)
2018-04-17 22:26:57 +10:00
Oliver
0b40197cd2 Update 'Build'
- Part model now has active_builds and inactive_builds properties
-
2018-04-17 20:25:43 +10:00
Oliver
982803a0a7 Updated Part model
- Added 'default_location'
- Added 'default_supplier'
2018-04-17 18:23:39 +10:00
Oliver
45c5edee4d Added 'salable' field to Part model 2018-04-17 18:11:34 +10:00
Oliver
fa23767150 Added skeleton for 'build' app 2018-04-17 00:32:02 +10:00
Oliver
937470750b Added helper functions, improved UI 2018-04-16 23:26:02 +10:00
Oliver
a67d5b58db UI improvements 2018-04-16 23:09:45 +10:00
Oliver
b6b4189c49 UI tweaks 2018-04-16 22:23:29 +10:00
Oliver
118d045e50 Improved part logic
- Added field 'buildable' - can this part be made from other parts?
- Added @propery 'supplier_count'
- Improved part detail page with new features
2018-04-16 22:13:31 +10:00
Oliver
e43439ef5b Function to calculate how many parts can be made with current stock 2018-04-16 21:49:38 +10:00
Oliver
76ee150ca4 Moved tracking information to StockItem 2018-04-16 20:08:04 +10:00
Oliver
f7eff8ae98 Added URL field to UniquePart
- e.g. link to external part tracking info page
2018-04-16 01:25:13 +10:00
Oliver
a80cf0aace Added some missing data on supplier pages 2018-04-16 01:14:19 +10:00
Oliver
a91ff58d84 Flakey
Fixing python style errors
2018-04-16 01:02:17 +10:00
Oliver
1027e812bc Use django_import_export
- Allows import / export to multiple file formats
- Provides admin interface
- Work to be done to perform data tweaking
- It would be really cool if the data fields could be associated 'intelligently'
 (i.e. not just based on PK, but name-lookup too).
2018-04-16 00:44:32 +10:00
Oliver
8e6de1b832 Add pages for part tracking
- Edit / Delete / Create tracking info
- Improvements to many pages
2018-04-16 00:30:57 +10:00
Oliver
55b533d3ef Added edit views for stock
- StockItem
- StockLocation
2018-04-15 23:27:56 +10:00
Oliver
3c844fc77f Redirect some links 2018-04-15 21:47:20 +10:00
Oliver
5861296974 Add view for BomItem model
- Create BOM item (auto-add to a parent part)
- Edit / delete
- View details
2018-04-15 21:29:24 +10:00
Oliver
9d89db34b2 Improvements to stock page
- Fixed URL / view (use class views)
- Better slug lookup
- Better table rendering using ol' mate bootstrap
2018-04-15 20:10:49 +10:00
Oliver
ab4b91cd46 Added pages for /supplier/
- Supplier list view
- Supplier detail view /supplier/<pk>/
- Added create / edit / delete views for supplier
- Supplier part detail at /supplier/part/<pk>
- Added create / edit / delete views for supplier part
- Added some templates to make things easier
2018-04-15 15:35:01 +10:00
Oliver
8232baeed7 Improved list and detail views for supplier
Huzzah for bootstrap
2018-04-15 13:49:47 +10:00
Oliver
9e6c7350f9 Skeleton for part tracking
- Added  list and detail view
- Fixed some links
2018-04-15 12:35:56 +10:00
Oliver
9f42085731 Add list page for tracking info
- Needs filtering (currently displays ALL unique parts)
2018-04-15 12:07:14 +10:00
Oliver
cb5e2f1a8c Danger button fix 2018-04-15 11:41:27 +10:00
Oliver
17b9f4ec8c Added pages for editing categories
- category-detail
- category-delete
- category-edit
- category-new
2018-04-15 11:40:03 +10:00
Oliver
5b5b8f4d12 Fix parent error when deleting category
- Any child categories have their parent set to the parent of the deleted category
2018-04-15 11:25:57 +10:00
Oliver
2c2db4fffb Added "new part" feature
- Create a new part
- Button provided on the "category" list page
2018-04-15 10:08:44 +10:00
Oliver
ff2082b156 Fixes for bootstrap
- Now using bootstrap3 which seems to work better
- Had to make changes to navbar and part image preview
2018-04-15 09:38:59 +10:00
Oliver
54e78bf468 Ability to delete part
- Provides confirmation form
- Shows the flow-on effects (model.CASCADE) from deleting this part
- Bootstrap makes it prettyful
2018-04-15 09:08:35 +10:00
Oliver
21e3f415c6 Added ability to edit parts
- installed django_crispy_forms
- added EditPartForm in part/forms.py
- Vastly simplified parts views by using class views 
  (need to do this for the other apps too!)
2018-04-15 01:18:12 +10:00
Oliver
8578c8a1a7 Updated breadcrumbs to use bootstrap 2018-04-14 23:42:24 +10:00
Oliver
204874dcb4 Changed some category views to use boostrap list-group
- Looks much fancier!
2018-04-14 23:05:36 +10:00
Oliver
0e2c5e6af5 Add tabs to part detail view
- Currently each "tab" reloads the entire page but with the new tab selected
- We could use bootstrap js to do this without reloading (load ALL part data)
2018-04-14 22:10:19 +10:00
Oliver
830d33763e Fix deletion of part category and stock location
- Category up part updated to parent
- Location of item updated to parent
2018-04-14 20:33:53 +10:00
Oliver
0550dad2d4 Added ability to attach file(s) to a part object
- Not yet fully working!
2018-04-14 18:44:56 +10:00
Oliver
226828791f Added migration files to git index 2018-04-14 18:36:06 +10:00
Oliver
a31ec388f4 Added static files directory
- Improved display of part image
2018-04-14 18:22:31 +10:00
Oliver
72b44e15f4 Added image field to part
- Images are automatically renamed upon upload
- Part page displays img
2018-04-14 17:44:22 +10:00
Oliver
bc7e29aeb4 Update navbar with category links
- Part
- Stock
- Supplier
2018-04-14 16:32:41 +10:00
Oliver
6a98846a8f Added supplier web interface
- Display list of suppliers
- Supplier detail page
- Supplier part detail page
- Part detail now includes list of supplier parts
2018-04-14 16:26:26 +10:00
Oliver
89ee09b01f Implemented bidirectional traversal for PART and STOCK apps
- Added list view for StockItems
2018-04-14 15:13:16 +10:00
Oliver
e30a089c76 Move BomItem into the Part app
- Does not make sense to keep these separate
- Removed bom app entirely
2018-04-14 14:19:03 +10:00
Oliver
1da6df0c5e Separate API views into api.py
- Web views are still in views.py
- Files were getting too cluttered and hard to grok
2018-04-14 14:11:46 +10:00
Oliver
63f7fe640c Added 'part tracking' page
- e.g. /part/<pk>/track
2018-04-14 00:46:18 +10:00
Oliver
eec725d90f A good start on web interface
- Added details for "part" app
- Added BOM page for each part
- Added Stock page for each part
- Bootstrap! CSS!
2018-04-14 00:08:30 +10:00
Oliver
bd46f66d6b Begin to add views for part models
- List BOM items
- Show category listing as linked items
- Fix some pathing issues with InvenTreeTree class
2018-04-13 22:36:59 +10:00
Oliver
77fe0dc542 Remove requirement for unique IPN
- Blank IPN values did not count as 'unique'
2018-04-12 19:14:07 +10:00
Oliver
ed61ebe5b7 Starting to implement BOM management
- Each part can be made of other parts
- Disable tracking and project apps for now
- Project will change (eventually) to work order
- Part parameters have been disabled (for now)
2018-04-12 16:27:26 +10:00
Oliver Walters
6c7f5fdaf3 Added MinValue validator(s) 2017-04-16 17:05:02 +10:00
Oliver Walters
057fd1dd20 Filtering improvements 2017-04-16 14:24:15 +10:00
Oliver Walters
d0a66390f5 db unique_together 2017-04-16 01:24:00 +10:00
Oliver Walters
4f6802b9bf Part model updates 2017-04-16 01:11:04 +10:00
Oliver Walters
d3781427ad Part parameter fixes 2017-04-16 01:08:43 +10:00
Oliver Walters
7e1fbf8a04 Style fixes 2017-04-16 01:01:48 +10:00
Oliver Walters
2e133b7744 Start of exception handler 2017-04-16 00:58:40 +10:00
Oliver Walters
a20987f122 Added part filters 2017-04-15 23:14:16 +10:00
Oliver Walters
71d7895148 Improved Part API docs 2017-04-15 23:04:09 +10:00
Oliver Walters
f7107008f0 Part API now hyperlinked 2017-04-15 00:10:35 +10:00
Oliver Walters
858a7fe089 Tweaking URL patterns 2017-04-14 21:44:01 +10:00
Oliver Walters
e5f6de5d2b Style fixes 2017-04-14 16:12:54 +10:00
Oliver Walters
5b49cff09a Prevent duplication of unique parts 2017-04-14 16:09:05 +10:00
Oliver Walters
37808f3834 Simplified PART and PROJECT APIs 2017-04-14 15:25:10 +10:00
Oliver Walters
e8ec11e3cc Added supplier API 2017-04-14 14:45:17 +10:00