Skip Navigation

[Resolved] Building Client Portal to manage service Jobs

This support ticket is created 7 years, 4 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Our next available supporter will start replying to tickets in about 0.25 hours from now. Thank you for your understanding.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

Author
Posts
#467613

I am trying to:
Build a client portal where clients can create orders for our document courier services, view all their pending orders, and track the updated status of those orders.

I have spend a half dozen days familuarizing myself with wp-types toolset and many of the case studies.

I bought types to build a client portal. I’ve been planning the structure and workflow of the Client portal for 2 weeks off and on. Wrapping my head around the structure that registers users, allows users to create orders for services, tracks the workflow of those services in terms of statuses, posts, etc. , displays lists of active jobs and job details.
User registers
User Creates order
Team receives order
Order is in cms and has workflow lifetime
Order is amended, noted, messaged, searched, listed and archived.
User views list of orders
User views order page with everything related to order
Team views all orders.
Team views all client orders
Orders are linked to clients, case numbers, addresses, names, etc.
Clients can be a custom post type and they also can be a taxonomy?
I need to be able to have client profile built into user profile so fields can populate based on login user info.
I need to display info based on login user info
Access must only be granted to client users who own the record. Basically clients can only see their own records not other clients records.

I share this back story because i have been trying to plan the structure of the site. I'm halfway into building a from scratch portal and i have 2 other demo installs that i'm toying with to try and modify to suite.

whats your advice on this? do you have any freference sites or guides that closely model the goal i'm after here?

thanks again.

#467776

Dear David,

Q1) Clients can be a custom post type and they also can be a taxonomy?
I suggest you setup the clients as wordpress users, you can setup a custom user role "clients " with Access plugin:
https://toolset.com/documentation/user-guides/managing-wordpress-admin-capabilities-access/

Q2) I need to be able to have client profile built into user profile so fields can populate based on login user info.
You can setup addresses, names, etc as custom user fields:
Adding Fields to User Profiles
https://toolset.com/documentation/user-guides/user-fields/
Then you will be able to display those user fields easily:
https://toolset.com/documentation/user-guides/displaying-wordpress-user-fields/

Q3) Access must only be granted to client users who own the record. Basically clients can only see their own records not other clients records.
You can setup custom post type "Orders", assign each order post author as the client(wordpress user), then you will be able to setup the privileges to what you want:
https://toolset.com/documentation/user-guides/setting-access-control/
And in the front-end, you can create a view to list the "Orders" posts, which author is the current user:
https://toolset.com/documentation/user-guides/filtering-views-query-by-author/

#468195

Please follow our document to prepare the video call:
https://toolset.com/toolset-support-policy/ask-support-video-call/
We will send you a meeting invitation, with a link to the support call.

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.