Commit Graph

571 Commits

Author SHA1 Message Date
Oliver Walters
86c31e8c0d Allow regex searching on part name 2019-04-17 08:19:40 +10:00
Oliver Walters
ca7182bf6b search page now returns matching parts
- Searches 'name' and 'description' field
- Uses the JSON API
2019-04-17 08:16:34 +10:00
Oliver Walters
fbf764e2ef Send search query text to template 2019-04-17 07:53:31 +10:00
Oliver Walters
19a11eac1a PEP fixes 2019-04-17 07:49:46 +10:00
Oliver Walters
52c3a63c61 Updated SupplierPriceBreak page 2019-04-17 00:48:01 +10:00
Oliver Walters
150bc1e674 Add API interface for SupplierPriceBreak 2019-04-17 00:35:49 +10:00
Oliver Walters
a3b544e2a4 typo fix 2019-04-17 00:21:11 +10:00
Oliver Walters
5cd837be07 Limit supplierpart part link to purchasable parts only 2019-04-17 00:14:22 +10:00
Oliver Walters
cd0b6a6511 Updated Supplier models
- Added cost calculation for supplier part
- Added more validators and help text
2019-04-17 00:09:39 +10:00
Oliver Walters
01bdf2f19b PEP fixes 2019-04-16 22:32:43 +10:00
Oliver Walters
7eea9d1a20 Launch a modal to select BOM download format
- This will have to change! A client-side hack for now..
- Work out a better way to do this!
2019-04-16 21:46:12 +10:00
Oliver Walters
be60fbcc25 More cleanup for modal forms
- Require 'ajax_template_name' to be set or weird things happen!
2019-04-16 21:25:20 +10:00
Oliver Walters
c0dd253137 Cleanup for AjaxUpdateView 2019-04-16 19:38:29 +10:00
Oliver Walters
7708ffb069 Cleanup for AjaxDeleteView
- Doesn't call renderJsonResponse as it returns html_data not html_form
2019-04-16 19:01:58 +10:00
Oliver Walters
7190a6fb7f Cleanup for AjaxCreateView 2019-04-16 18:43:41 +10:00
Oliver Walters
c706f00733 Skeletong for exporting BOM in different formats 2019-04-16 14:22:27 +10:00
Oliver Walters
29f33a8eec Move button locations into bootstrap-table headers
- part category
- stock location
- build list
- company list
- supplier part list
2019-04-16 11:46:07 +10:00
Oliver Walters
338a30b50e API endpoint for build list
- Changed part/build table to bootstrap table (ajax)
2019-04-16 08:31:43 +10:00
Oliver Walters
94b280eed3 Move button groups into the table toolbar next to search box
- part stock list
- part bom list
2019-04-16 08:13:05 +10:00
Oliver Walters
a4467fee21 Remove bootstrap-editable
- Revert to using modal django forms
2019-04-16 07:53:30 +10:00
Oliver Walters
bafce641a7 Limit sub-part choices to consumable parts only 2019-04-16 01:45:16 +10:00
Oliver Walters
bad46f85f4 Edit / delete / add BOM items
- Remove x-editable inline editing
- Uses only bootstrap-table and modal forms
- Hide the 'part' field in the bom item edit
2019-04-16 01:41:01 +10:00
Oliver Walters
6e2b111b9c Add 'consumable' field to Part
- Indicates that a part can be used to make other parts
- This is the inverse of 'buildable'
- Add this field to the serializer and edit forms
- Display parameter on part info page
- BOM edit window only requests sub-parts that are marked as 'consumable'
- Also added option to edit 'units' field for part
2019-04-16 00:01:52 +10:00
Oliver Walters
ca96c8e22b Better query param parsing 2019-04-15 23:30:17 +10:00
Oliver Walters
3d9a1acc2e Don't render full category information in part API
- Lots of data duplication!
- Just send the category ID (and the category name)
-
2019-04-15 22:52:53 +10:00
Oliver Walters
ac0b28a06c Simplify part filtering 2019-04-15 22:39:28 +10:00
Oliver Walters
7e78f0aa67 Changed query param from '1' to 'True' 2019-04-15 22:36:50 +10:00
Oliver Walters
a5e3af97ed Move table functionality to external script 2019-04-15 22:28:29 +10:00
Oliver Walters
b522ca5b29 Don't render editable items when ont in editing mode 2019-04-15 18:41:48 +10:00
Oliver Walters
ec98f7829e Add context flag to enable editing mode
- pass ?edit=1 to the BOM
- Display page differently if in editing mode
-
2019-04-15 18:32:15 +10:00
Oliver Walters
258555a813 Add placeholder text option for field editing 2019-04-15 00:11:26 +10:00
Oliver Walters
264f189917 Add function to wrap a value in an in-line editable field
- Requires bootstrap-editable
2019-04-15 00:11:14 +10:00
Oliver Walters
e370cb8d3c Add note field to BomItem serializer 2019-04-14 22:20:11 +10:00
Oliver Walters
d5186fc615 Add 'note' field to BOM item model 2019-04-14 18:26:11 +10:00
Oliver Walters
9e5eed5d5e Move the export_bom function to the part model 2019-04-14 12:34:14 +10:00
Oliver Walters
b8e28c003d Provide download link to export BOM file
- Helper function for generating temporary file (in memory) for exporting
2019-04-14 12:34:14 +10:00
Oliver Walters
b58c49e066 Create BOM export form
- Select output format
2019-04-14 12:34:13 +10:00
Oliver Walters
14de111130 Allow better passthrough of context variables for non-form views 2019-04-14 12:34:13 +10:00
Oliver Walters
0cc59540ef Generate modal form to export BOM
- Doesn't do anything yet
- Extends AjaxView
2019-04-14 12:34:13 +10:00
Oliver Walters
2202dfd55d Peppy fixes 2019-04-14 12:30:06 +10:00
Oliver Walters
00c21d521e Always display category
- Display full category path
2019-04-14 12:25:21 +10:00
Oliver Walters
9d98c429d6 Complex filtering for parts
- Allow filtering against child categories
- Could potentially be slooow
2019-04-14 11:59:07 +10:00
Oliver Walters
1ef81ecf2e Ignore some rules 2019-04-14 09:39:01 +10:00
Oliver Walters
29ab19d51d PEP fixes in /InvenTree 2019-04-14 09:33:17 +10:00
Oliver Walters
ac3a4e3de4 PEP fixes for /company 2019-04-14 09:30:45 +10:00
Oliver Walters
b9f23554a5 PEP fixes for /build 2019-04-14 09:29:05 +10:00
Oliver Walters
cf374252c1 PEP fixes for /part 2019-04-14 09:25:46 +10:00
Oliver Walters
76b0d17b11 PEP fixes for /stock 2019-04-14 09:23:24 +10:00
Oliver Walters
e6e03963c4 Simplified custom button text for modal forms
- Now only configured from the javascript end
- No server-side configuration of button text
2019-04-13 23:02:23 +10:00
Oliver Walters
0e7472dabc Fix display of custom button text
- Missing first parameter (modal object) to function call
2019-04-13 21:20:02 +10:00
Oliver Walters
f44ba1c011 Commonized 'submit_label' text option 2019-04-13 21:11:42 +10:00
Oliver Walters
51d77ce4d2 Include uuid in serializer and api 2019-04-13 07:56:06 +10:00
Oliver Walters
7b68bac32f Display UUID and QR code on stockitem page
- The actual display of this can be improved upon at a later stage
2019-04-13 01:14:24 +10:00
Oliver Walters
b64e584b52 Add UUID field to StockItem model 2019-04-13 01:12:47 +10:00
Oliver Walters
b0f42fd30f Add qr_code to list of installed addons 2019-04-13 01:03:56 +10:00
Oliver Walters
1b5287307b Add some help text 2019-04-13 00:52:26 +10:00
Oliver Walters
926d717190 Add quantity field to StockItemTracking
- Keep track of historical levels of part availability
2019-04-13 00:14:10 +10:00
Oliver Walters
93bb0bf6f4 Improved 'move stock' form
- Better error checking on the form (provides form validation messages to user)
2019-04-13 00:08:13 +10:00
Oliver Walters
f451d31f00 Rearrange stockitem drop-down menu for more logical operations 2019-04-12 23:10:47 +10:00
Oliver Walters
e560ea4a41 Update edit form for StockItem
- Disallow direct quantity editing (must perform stocktake)
- Add notes field to allow editing
2019-04-12 23:10:32 +10:00
Oliver Walters
7566c3769a Added a note for future work 2019-04-12 23:05:12 +10:00
Oliver Walters
68ec5df371 Correctly handle StockTrackingItem if there is no user data 2019-04-12 23:03:02 +10:00
Oliver Walters
88103b63d2 Cannot filter by STATUS
- Is this because it is a dict?
- Need to address this in the future
2019-04-12 22:46:48 +10:00
Oliver Walters
7a7b0aea33 Changed 'stocklocation.items' to 'stocklocation.stock_items' 2019-04-12 22:46:15 +10:00
Oliver Walters
2d21bf0626 Part BOM list now shows how many of each sub-item are available
- If there are enough to build the available quantity is shown in green
- Otherwise, shown in orange
2019-04-12 22:09:50 +10:00
Oliver Walters
8a3706dd76 Added MPN field to supplier part lists 2019-04-12 21:54:53 +10:00
Oliver Walters
25f1d643b8 Add indicator to show no stock in part listing 2019-04-12 21:21:50 +10:00
Oliver Walters
7341fe4542 Fix modal form for creating company 2019-04-12 21:09:31 +10:00
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
ceea053368 Added part API
- Build allocation table now makes use of this API
- Further steps towards allocation table
2018-05-12 12:44:29 +10:00
Oliver
1b9c98ae3e Bug fix for stock item traking list
- Query was returning ALL stock tracking objects!
- Now filter by StockItem ID
2018-05-10 21:27:41 +10:00
Oliver
4b4db50de5 Display username in stock-tracking
- Add UserSerializer
2018-05-10 21:20:12 +10:00
Oliver
dcf74292b6 Changed tracking into to datetime field
- Added moment.js for formatting dates
-
2018-05-10 21:13:36 +10:00
Oliver
7b478fed4e Redirect if not authed
If user not logged in, redirect any requests to login page
2018-05-10 20:40:08 +10:00
Oliver
57713556d1 Revert default db to sqlite3 (for now) 2018-05-10 19:19:13 +10:00
Oliver
07f16d8891 Small improvements for build display
Working toward build management
2018-05-09 22:02:56 +10:00
Oliver
690ec83265 Woohoo for .then 2018-05-09 21:48:36 +10:00
Oliver
517569f510 Clicking on logo returns user to index page 2018-05-09 00:19:34 +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
233f093093 Update supplier part detail page
- Consolidated buttons into dropdown
- Make look like other pages
2018-05-09 00:12:21 +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
8000affeee Basic Index and Search endpoints
Index at /index/
Search at /search/
Search view accepts POST requests with search data
2018-05-08 23:44:51 +10:00
Oliver
c821d22b87 Skeleton for 'index' and 'search' pages 2018-05-08 23:26:32 +10:00
Oliver
552953a1f8 Added bootstrap font files
Also added 'search' button
2018-05-08 23:26:09 +10:00
Oliver
84efaba920 Add link to admin page
- Only if user is admin!
2018-05-08 23:14:07 +10:00
Oliver
3cf45f5ed3 Added Login and Logout buttons to NavBar 2018-05-08 23:09:52 +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
fdf35bd741 Fixes for double-submit on butons
- Function that first unbinds the submit button
2018-05-08 22:49:23 +10:00
Oliver
bf4ffb8b0b Add part stocktake to Stock Location page(s) 2018-05-08 22:41:52 +10:00
Oliver
f2982a59ad Added StockTracking API
/api/stock/track/
ListCreate API view
StockItem page now shows bootrap-table of tracking notes
2018-05-08 22:30:32 +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
25e0de1ce7 Vast improvements to stocktake API endpoint
- Also acts to ADD and REMOVE stock
- Send 'action' field to specify which one to perform
- Fixed add_stock and remove_stock funcs for StockItem model
- Autoatically add transaction notes for all actions
2018-05-08 22:06:28 +10:00
Oliver
ca2d3a1a7b Consolidated modal code
- Default modal passed down through the chain
2018-05-08 20:46:23 +10:00
Oliver
054892aea2 Cleaner handling of default modal param 2018-05-08 19:58:38 +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
ee0c664d28 Prevent modals from firing multiple events
- e.g. if the modal has been open and closed multiple times!
- Detach all previously attached events
2018-05-07 23:46:41 +10:00
Oliver
fdf214626c Further assorted updates
What, you need more commit details?! Pah
2018-05-07 23:40:17 +10:00
Oliver
b6944620dd Fixes for JSON API
- Set content type
- Stringify JSON data
- Finish API to stocktake multiple parts
2018-05-07 23:25:47 +10:00
Oliver
1363fa9f1f Prevent modals from automatically closing 2018-05-07 22:16:05 +10:00
Oliver
17ecb59dbb Move to using postgresql
- Need to write a shell script to automate db install
- For now:
   - https://gist.github.com/sirodoht/f598d14e9644e2d3909629a41e3522ad
   - https://www.digitalocean.com/community/tutorials/how-to-use-postgresql-with-your-django-application-on-ubuntu-14-04
2018-05-07 22:03:13 +10:00
Oliver
425db5fd39 Tweaked part stock page 2018-05-07 21:51:08 +10:00
Oliver
2b286c3b83 Bulk stocktake API
- Pass list of pk/quantity dict objects
2018-05-07 21:17:19 +10:00
Oliver
e746ca6e0a Paginate company page 2018-05-07 18:16:12 +10:00
Oliver
deccdce6d9 Part view updates 2018-05-07 08:41:19 +10:00
Oliver
ce30cd7b4d add auto-doc for JSON API 2018-05-07 08:35:40 +10:00
Oliver
ee0cbdbb07 Skeleton for deleting multiple items
- Does not work yet! But opens a window...
2018-05-06 22:38:39 +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
a55f6a1c7b Improved stock movement modal
- Show which parts will be moved (and where they currently are)
2018-05-06 22:01:24 +10:00
Oliver
8a0db0e6df Updated stockitem detail page
- Consolidated buttons into dropdown
- Stock tracking now in collapsible list
2018-05-06 21:53:06 +10:00
Oliver
d8922aa9db Implemented API to move multiple items at once
- Added ability to override request method in inventreeUpdate
- Added inventree/script/stock.js to handle stock API js 
- Added StockMove API endpoint
2018-05-06 21:39:33 +10:00
Oliver
87f96d6b3c Add more modal form funcs
- Function to set the button text
2018-05-06 20:30:17 +10:00
Oliver
c2bc65f903 API improvements
- Add success and error callbacks
- Further improvements for modal forms
2018-05-06 20:20:39 +10:00
Oliver
fa04a9ae61 Abstracted modal code somewhat 2018-05-06 19:54:32 +10:00
Oliver
58cd933a5d Whoops, fixed the API callbacks 2018-05-06 19:33:43 +10:00
Oliver
366e03456e Hide 'tracking' tab for now 2018-05-06 19:27:34 +10:00
Oliver
890c9002aa Callback for API 2018-05-06 19:26:11 +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
22e9290f54 Helper funcs for updating part and stock item 2018-05-05 01:37:21 +10:00
Oliver
8e7e784934 Remove test code 2018-05-05 01:27:15 +10:00
Oliver
11e7a34aa2 AJAX function to update a model endpoint
- Grabs the CSRF token cookie (required!)
- If final mode, adds '_is_final' parameter to request
2018-05-05 01:26:58 +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
ee347c6165 Further API calls
- getStock
- getStockLocation
- getCompanies
2018-05-05 00:00:48 +10:00
Oliver
7e4b0630b6 Part category API 2018-05-04 23:54:57 +10:00
Oliver
83dd068fec Initial commit for api.js
- GET JSON call with console output
- Provide filters
2018-05-04 23:43:41 +10:00
Oliver
a7d4e299b2 Cleaned up stock app 2018-05-04 23:31:48 +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
a1eeeab64c Build table now bootstrap-table'd 2018-05-04 01:39:20 +10:00
Oliver
3511ce29ee Added StockLocation API 2018-05-04 01:33:21 +10:00
Oliver
395bf23d6c Cleanup / formatting 2018-05-04 01:33:13 +10:00
Oliver
347a324589 Fix 2018-05-04 01:04:12 +10:00
Oliver
9ad20e85e3 Improve CSS for modal forms 2018-05-04 00:56:29 +10:00
Oliver
52cc7360b3 More betterer buttons for stock locationdetail 2018-05-04 00:48:36 +10:00
Oliver
1c5972e326 Cleaned up action buttons for StockLocation
- Merged edit/create/delete into a single drop-down button
2018-05-04 00:32:06 +10:00
Oliver
99fb466a6c Placeholder for ajax form 'complete' callback 2018-05-04 00:02:52 +10:00
Oliver
17e6147c47 Click on company image to edit it 2018-05-03 23:57:00 +10:00
Oliver
e9be3e9e06 Install django-cleanup
- Automatically removes orphaned ImageFIeld and FileField files
2018-05-03 23:56:39 +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
de176ecac9 Updated modal form code
- Modal form template now uses multipart-data (to allow file uploads)
- Cleaned modal_form.js code (split into separate functions)
2018-05-03 23:38:32 +10:00
Oliver
9311164825 Using jquery-forms plugin
- Allows AJAX file uploads
- Works!
- Provides upload progress (not yet tested)
2018-05-03 23:37:19 +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