-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add Purchase Orders functionality #17985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Complete CRUD operations for Purchase Orders and Purchase Order Items - PDF generation with company branding and professional formatting - Asset linking with purchase order tracking and lookup functionality - Enhanced navigation with Purchase Orders menu in both main nav and settings - Database migrations for purchase_orders, purchase_order_items, and asset linking - Comprehensive documentation with installation guide and screenshots - API endpoints for programmatic access - Status management (Draft, Pending Approval, Ordered, Received, Cancelled) - Supplier integration and asset model compatibility - Backwards compatible implementation with existing Snipe-IT functionality
Hi @1robroos - thanks for this! It’s going to take a bit of time to review, as it’s pretty big, but I had a few initial questions/comments:
|
Hello @snipe , Thank you for the detailed feedback! I really appreciate the thorough review. Let me address each point:
This was quite an undertaking (31 files, 5800+ lines) and I appreciate the guidance on project standards. As mentioned on Discord, I worked primarily as a project director while Amazon Q Developer handled most of the actual coding implementation. Given the scope of refinements needed and my learning curve with Snipe-IT conventions, would the team be open to collaborative improvements on specific high-priority items? |
Hi @1robroos and thanks for taking a swing at adding purchase orders to the application! Introducing the concept of purchase orders is a big undertaking and something we would like to include in the application. We've had a few PRs for this already, including some internal work, but they weren't merged due to not being the approach we want to introduce and maintain going forward. I've only given the code in this PR a glance but I can see that it doesn't follow the conventions of the rest of our application. You mentioned using Amazon Q Developer. Unfortunately, in it's current state, AI tools don't take the entire application into context as it generates changes. The code in the PR is code that runs (I assume) but looks a lot different than the rest of our codebase. Ultimately, the code and workflows that are merged need to be maintained and supported by our team in the future so we strive to avoid introducing code that is "unexpected". Honestly, there are a lot of changes that would need to be made before this PR is in a testable and mergable state and it'll be an undertaking to list all of them. If you were to use this as a base to roll your sleeves up and make the needed changes manually we can begin to add inline comments to the PR review outlining what needs to be updated. In my experience, prompting AI agents for changes requires being extremely specific and doesn't take into account implied meanings that occur when human developers communicate with the context of the codebase in their brain. AI also tends to go beyond what changes you're asking it for (for example, I noticed a lot of unneeded/unrelated changes in the I don't mean to dismiss your contribution but want to let you know the reality of what would need to happen for this PR to be merged. |
Hi @marcusmoore, Thank you for the honest assessment. I appreciate the time you took to review this. Given the scope of changes needed to align with Snipe-IT conventions and my limitations as a non-professional developer, I don't think I can realistically deliver the quality of refactoring this PR would require. Thanks for considering the contribution and for the constructive feedback. |
Thank you again for your contribution. I'm going to close this PR but I've attached it to the relevant issue so it can be used as reference in the future. |
Summary
This PR adds comprehensive Purchase Orders functionality to Snipe-IT, enabling organizations to track asset procurement from order creation through delivery and asset assignment.
Features Added
Documentation
See
PURCHASE_ORDERS_README.md
for complete installation guide, feature overview, and screenshots.Testing
Breaking Changes
None - fully backwards compatible with existing installations.