invoiceninja / ui

Invoice Ninja: Web admin portal built with React
https://app.invoicing.co
Other
55 stars 47 forks source link

Sort items on client page (Invoices, Quotes, Payments, etc.) by the same value for every client #1941

Open link470 opened 1 month ago

link470 commented 1 month ago

Since the upgrade from 5.8.x to 5.10.13 (switching to the React UI), I've noticed that the invoices on client pages are no longer in descending order (with the latest invoice at the top and the oldest invoice at the bottom). For the current client I was on, I clicked the arrows on the Number column under Invoices so that the latest invoice was at the top, and I did the same for Quotes and Payments. This client's Invoices/Quotes/Payments now look like this, with the latest on top:

image

However, if I navigate to another client, theirs aren't copying this behavior. That other client now has the number column on the Invoices, Quotes, and Payments tabs ascending instead of descending like I've set on the first client.

image

I'd like to be able to set this view and apply it to all clients so that when I view the Invoices, Quotes, Payments (or any other item I may want to sort in the client view) attached to a client, I get the same ordering on all clients.

The value is clearly being saved somewhere because for the couple of clients I've switched the Number column on to descending, InvoiceNinja is remembering that for those two clients (I checked the clients table in the database to see if there was a value stored here somewhere for column settings, but I can't find anything related, so I'm not sure where this is being stored). But I have hundreds of clients, and a user shouldn't have to click through each client manually adjusting the columns. It would be great to have a "apply ascending or descending rule to all clients" type setting.

turbo124 commented 1 month ago

The system will remember your last sort order selection, saving this and setting this each time you view a particular list.

link470 commented 1 month ago

The system will remember your last sort order selection, saving this and setting this each time you view a particular list.

Where abouts is the system remembering this?

I'd love to see a way to replicate the view for every client more easily. I've set the Invoices, Payments, Quotes etc. on one client to have the newest on top and the oldest at the bottom (as shown above), but this doesn't change any other client. So if I want that view for every client, I need to manually click each client, sort the columns, then move to the next client.

turbo124 commented 1 month ago

@link470

The system will always remember the last sorting combination for all of the list views, you can test this by setting a particular sort order of a list (ie sort invoices by amount, log out and then back in again) the list sorting will be remembered/

link470 commented 1 month ago

@turbo124 I fully realize the sorting will be remembered for a single client, on a single type of data (invoices, quotes, payments, etc.). What I'm asking for is a way to sort this for every client, for every type of data. Please see my first post where I include screenshots of the problem. You can see that if I change the order for one type of data (I used Invoices in my example) for one client, the same order isn't present on the other client. I'd like to set the overall view for those data types to always be descending or always be ascending.

The problem is that if I want the view to be descending (latest on top) for Invoices, Payments, Quotes etc. on every client, I need to navigate to every client and click the sort button manually on each tab/type of data.

link470 commented 1 month ago

@turbo124 Where abouts are these preferences being kept? Is it in the database somewhere?

turbo124 commented 1 month ago

@link470 yes, company_users.react_settings