julien-nc / cospend-nc

💰 💲hared budget manager Nextcloud app
GNU Affero General Public License v3.0
225 stars 29 forks source link

Show/filter all bills related to one category #80

Closed webflo-dev closed 3 years ago

webflo-dev commented 3 years ago

Hello ! I tried cospend since few days now and I really like it ! It's so userfriendly and match (almost) perfectly to my family needs :)

But I think something is missing: the possibility to get all bills related to a specific category. Sometime I need to get grouped bills per category to have a fine grained looks on the expenses and actually it doesn't seems possible. The UI shows all bills, the unified search shows only some of them and statistics are too overall.

Is it possible to add a category filter in the UI ? Or maybe add a new graph in the statistics page ? Or using a specific keyword in the unified search ?

Thanks for reading this request :)

julien-nc commented 3 years ago

Hi, thanks for your enthusiasm and suggestions!

Is it possible to add a category filter in the UI ?

Yep, good idea! It's done and available in the latest nightly if you want to try it. Tell me if you need help to install the nightly. On top of the bill list, there is now an action to open the filters, you can filter by category and/or by payment mode. Filters apply to the current bill list and are reset when the project changes or when a bill is created.

Or maybe add a new graph in the statistics page ?

What do you mean? Which kind of chart?

Did you know that you can filter the statistics. So if you select a category in the filter form on top of the stats, every chart and table will display data obtained respecting the stats filters. So for example, you'll be able to see the monthly payed amount for each member for the selected category. Or even the proportion of payments/spendings per member for the selected category (in the first double doughnut chart).

Or using a specific keyword in the unified search ?

I don't know about that one. I think the "in-app" features are enough for now. What do you think?

webflo-dev commented 3 years ago

Thanks for taking in account my request :)

I tried to update the app using the nightly version but I have an error after running the command occ update

An unhandled exception has been thrown:
Error: Undefined class constant 'PAYMENT_MODE_ID_CONVERSION' in /config/www/nextcloud/apps/cospend/lib/Migration/Version010314Date20210815170535.php:117
Stack trace:
#0 /config/www/nextcloud/lib/private/DB/MigrationService.php(547): OCA\Cospend\Migration\Version010314Date20210815170535->postSchemaChange()

But I'm not a nextcloud expert. Maybe I did it wrong :(

To answer your question, if you added a filter in the UI I think it will enought. No need to add new chart or playing with unified search :) The need is basic so let's keep the simplest solution ;-)

julien-nc commented 3 years ago

Oops this was a mistake on my side. I removed too much stuff. I didn't face the issue because the related migration step had already been executed on my test instances.

It should be fine now with v1.3.16-5-nightly which was just released. It takes a bit of time before the occ app:update --allow-unstable is able to find the latest release. Let's wait an hour to make sure you upgrade to the latest nightly.

Thanks for your feedback!

webflo-dev commented 3 years ago

I just tested and it's working fine ! :) Just one little more thing about translation: the first text of the select input in filters are not translated. I'm using nextcloud in french and I have "All categories" and "All payment modes".

Also, I tested the dynamic payment mode and it's also working fine ;-)

julien-nc commented 3 years ago

Yay, thanks for the tests. The translations are done in crowdin. I only push the new strings there after having tested new stuff. It's now pushed to Crowdin (because you tested :+1:). As I'm french, it's the only language that is always fully translated for sure on each release :grin:. Don't worry about that.

Nice that you've tested the new payment mode stuff. I'll wait a few days for more tests and to get the translations and then make a release.