* fix: create and add Portal Users child table in Supplier/Customer
Issue #35772
* fix: modify the original permission check hook
* fix: auto-add role for portal users
* fix: added patch for auto-populating portal users
* fix: modify patch to fetch users correctly
* fix: remove unnecessary code for updating naming_series
* fix(UX): show portal user in list view
Also split columns to reduce whitespace.
* refactor: simpler role checking
* fix: consider parenttype while fetching portal user
* refactor: simpler code, rename variable
* test: supplier portal user can access their docs
* refactor: only add role if not added
* refactor: rename and move patch to supplier
* refactor: dont add role if no perm or existing doc
* fix: add role before save
* refactor: run query directly
* refactor: split patch and apply roles
- if role isn't present dont add portal user
- ignore failure as it's not critical
* test: fix permission creation for webform test
---------
Co-authored-by: Ankush Menat <ankush@frappe.io>
* fix: Add Purchase Order to portal
* fix: Create Customer or Supplier on first login
Based on default role set in Portal Settings, a Customer or Supplier
will be created when the user logs in for the first time.
* fix: Styling for transaction_row
* fix: Styling for RFQ page
* fix: Add Purchase Invoice route
- Make Purchase Invoice from PO
* fix: minor
- Admissions for Student role
- Remove print statement
* fix: Quotation list in customer portal
Customers were not able to see their quotations because of
the recent customer field removal from quotation
* fix: Remove duplicate code
* [hotfix] dont allow guest user to list the invoices or orders
* [hotfix] fixed Not Permitted issue for System user while accessing documents on portal
* [codecy] removed trailing whitespace
* [fixes] added filters for supplier in RFQ and other minor fixes
* Use Python 3 style print function
* Use 'Exception as e' instead of 'Exception, e'
* Unpack tuple arguments explicitly in instead of relying on auto unpacking
* Use consistent indentation
* Use 0 if stock_frozen_upto_days is None