Skip to content

Implement Student Portfolio Transaction Management #944

@americac

Description

@americac

!!! Blocked By: #941 !!!

Description:
Add portfolio transaction form to student edit page for adding funds/debits.

Tasks:

  • Update Admin::StudentsController:
    • Add add_transaction action
    • Validate transaction params (amount > 0, transaction_type presence, etc.)
    • Create PortfolioTransaction through student's portfolio
    • Handle errors and display meaningful messages
    • Redirect back to edit page with flash
  • Update student form view:
    • Add transaction section (only on edit, not new)
    • Display current cash balance (read-only)
    • Add transaction type select (deposit/debit)
    • Add amount field with decimal support
    • Add reason select (uses PortfolioTransaction.reasons enum)
    • Add description textarea
    • Submit to add_transaction action
  • Add routes for add_transaction member action

Acceptance Criteria:

  • Transaction form only appears on edit page
  • Current cash balance displays correctly
  • Transaction type select has deposit/debit options
  • Amount field validates > 0
  • Reason select populates from enum
  • Description field optional
  • Transaction creates successfully
  • Portfolio balance updates correctly
  • Validation errors display inline
  • Success message confirms transaction
  • Form clears after successful transaction

Files to Update:

  • app/views/admin/students/_form.html.erb

Reference:

  • app/controllers/admin/students_controller.rb (lines 65-96)
  • app/views/admin/students/_form.html.erb (lines 64-111)
  • app/models/portfolio_transaction.rb (for reasons enum)

Metadata

Metadata

Assignees

Labels

blockedIssue blocked by another issue

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions