Giter VIP home page Giter VIP logo

parelpracht-client's People

Contributors

celine41vo avatar gewoonsandor avatar gijsdeman avatar irne avatar jealyvda avatar kdnooij avatar maxopperman avatar tomudding avatar woutderuiter avatar wvdh99 avatar yoronex avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

parelpracht-client's Issues

Non-treasurer can update invoice status to "Paid"

The idea is that only the treasurer can update the status from an invoice to paid, to prevent any mistakes from happening.

Right now, everyone can do this.

Please note that other C4 members should still be able to update the status of an invoice to Sent.

Product custom pricing

When adding custom pricing to a product, you are unable to keep continuously typing within the table that you are creating. This is due to the table being completely re-rendered when updating a input field.

State mutations between dispatches

When changing data of certain entities, there is a chance that the state is changed during rendering time. This does not directly cause the website to not work (data is still saved) and happens inconsistently, but should be dealt with.

At most parts, working with copies of states seems to work fine (see summariesReducer.ts), but at other points this fails as well as you can only really copy the data in a shallow way.

Invariant failed: A state mutation was detected between dispatches, in the path 'single.Contract.data.files.0'.  This may cause incorrect behavior
Invariant failed: A state mutation was detected between dispatches, in the path 'summaries.ProductCategories.options.1'.  This may cause incorrect behavior

No label/legend for split "invoiced" category on home page graph

The top graph on the home page of PP splits up the category of "Invoiced" (there is a line). This can either be paid/non-paid invoices or delivered/non-delivered products. However at the moment this is not clear. It is not written anywhere (neither while hovering nor in the legend). Please specify such that users know what the content is.

Changing Debtornumber to contract number of relevant contract

Probably legacy item but it is not useful for there to be the debtornumber on the invoice, matching the contract is way more useful. Right now this is done in parelpracht-server/src/pdfgenerator

Line 383 and Line 422 have file = replaceAll(file, '{{debtornumber}}', C${settings.recipient.id});

Perhaps it's possible to change the settings.recipient.id to the relevant contract number associated with the invoice. Then the only other change needs to be in the GEWISLetter.cls to "\newcommand@languageCustomerNumber{Contract number}" and " \renewcommand@languageCustomerNumber{Overeenkomstnummer}"

Company country wrong on invoices and contract

To reproduce, generate invoice or contract.

The country in the address is always printed on documents with what I assume to be their id in the dropdown. They do not get translated nor look like a valid address in the recipient address.

Hooks and functional components

Since almost all components are classes, it is quite cumbersome to use hooks. Furthermore, some hooks will still throw warnings even if you manage to get them to work in class components.

Since React is nowadays mostly based on functional components either way, it is a good idea to rewrite all class components as functional components. This makes the code also more consistent (as they are both being used right now) and will make maintainability better.

Bug: Cannot open insights from the homepage.

Insights - suggested not showing all contracts/products

When pressing the suggested button on the landing page, you're taken to the insights which does not include all contracts in the overview (amounts on the bottom are correct)
image
E.g. C1268-C1274 should all be in this category but do not show up here. I have since figured out that it does work when directly pressing "insights" and filtering.

Workflow of invoices

The current workflow for invoices is Created > Sent > Paid, however, while sending out invoices I have noticed that it might be nice to also have a 'Proposed' options for invoices. (such state already exists for contracts).

Often when you send the originally generated invoice, some changes still have to be done. This includes changing address, adding PO numbers or even changing the term of an invoice. This process includes sending the invoice, but you cannot switch so Sent yet, as this makes the invoice immutable. For this reason, there is no way to distinguish between an invoice that was just created, and one that has been through some stages of change already.

My proposition would be to change the workflow to Created > Proposed > Sent > Paid so it is cleared (and also, easier to filter) what has been discussed about a certain invoice already.

Infinite loading and error with clicking on users

If you go to Contract > Activities, you can see who has done something (for example the EAO). You can then click on this person. However as a non-admin, you can not see user profiles. You get a pop-up and and an infinite loading screen.

Possible improvements:

  • Make the name non-clickable for non-admins such that they don't get tempted.
  • Redirect non-admins back to the contract-page and give them the error then instead of the infinite loading screen.
  • Make a non-admin view of the user page, since it could be valuable to know which contracts someone is working on and get their email address. I also don't think C4 member information in PP is so GDPR sensitive that this information should be non-visible.

Product categories broken

There seem to be some backend issues with product categories.

  1. You are unable to filter on product categories on /product. This results in a 500 on https://parelpracht.test.gewis.nl/api/product/table
  2. You are unable to switch the category of a product on /product/:id. This results in a 500 on https://parelpracht.test.gewis.nl/api/product/2.

It is likely that these are correlated and that the backend has some issues with retrieving the product categories correctly.

Insights page broken

Insights page does not load anymore. This is is due to a mistake in the query run in the backend:

Request POST /api/company/extensive failed: QueryFailedError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ORDER BY company.id) as rownr, company.id as id
            FROM product_instan' at line 12

Suggestion/Addition: Category filter for Sponsoring Updates

It would be a nice addition to have a category filter similar to the product filter. This would make my life easier to get the correct numbers for the updates. It would also be great to have a "date of confirmed" and "date of invoiced" filter so I can filter more easily on when the contract was signed/invoiced as this helps as well with making my sponsoring update.
image

Possibility to remove product from contract when in proposed phase

Correct me if I'm wrong but I would still like to remove the products from a contract when the contract is in "proposed" phase. I put the contracts in this phase when I have proposed these products to the company. When the company then e.g. does not want the Direct mailing anymore (see C1272), I have to cancel the product, and then the financial amounts still stay the same and the products on the contract still show on the definite contract I'd make.

tldr: Please let me remove products when the contract is in proposed phase.

Improvements product category insight on home page

This graph (bottom one) is very difficult to read. Suggested improvements:

  • Have the y-axis of the graph start at 0 instead of -2000 euros.
  • Add a legend. Currently the legend is only readable by hovering over the graph, which is not ideal.
  • Make the x-axis dynamic such that it only displays june - today. Adding data for the upcoming months is useless and makes the graph less readable.

Suggestion: Company statusses

All companies have a company status, which is a legacy thing from Goudglans where this variable was actually used. Currently the company status requires manual updating and that is not too useful. I would suggest to make some type of logic for the statusses such that they can be more relevant for the EAO.

Suggestion:

  • Active contract OR active contract in current academic year = active company
  • Active contract in prev or year before AY = dormant -> insightful for EAO since he can contact them for new collaborations
  • No active contract in last 2 AY = inactive -> not relevant for EAO

@ Maiko please discuss with C4 and consider whether you think this could be relevant.

Feature request: new numbering for invoices

From the first of July I would like the invoices to not be continuous, Instead, just like every other financial administrational item, I would like to start the numbering from zero.

Reason: we are running out of number (F960). This can be solved by adding an extra number within the bookkeping, but would not be very nice for all other items in the bookkeeping. Furthermore, invoices would still be unique by numbering them as 20XX9YYY and restarting every time XX changes.

Improve robustness of database connection

Products categories

Het is handig om maar 5 categorien te hebben zoals op de jaarbegroting, maar ik denk dat subcategorien zoals die nu bestaan nog verkeerd zouden zijn. I.e. onder digital sponsoring de subcategorien social media en digital sponsoring hangen. Zie ook #23 voor andere toegevoegde waarde.

Invoiced calculated wrongly

The 'invoiced' amount on main page is calculated incorrectly. Right now, it adds up 'created' and 'sent', but not 'proposed'.

Furthermore, I think it would be more logical to only add up 'proposed' and 'sent', as invoices are often created for ease of use (adding PO numbers already and such), but does not necessarily mean that this invoice is actually being processed by a company.

Cancelled products on insights tab in product page

If you go to the page from a certain Product (e.g. lunch lectures), then go to the insights tab, the data here for the current year is incorrect. I found out that this is because the value of all cancelled versions of that product in previous years (e.g. cancelled lunch lectures here) are added to the value of the current year sponsoring.

So lunch lectures is currently XX k contracted = value from cancelled lunch lectures + value from LL in current year.

LaTeX compilation fails on special characters

Some companie names or other stuff that is filled out on contracts might contain special characters like %, $ and & which cannot be compiled in LaTeX without being escaped. For this reason, there contract cannot be compiled in ParelPracht.

All information filled out on the contracts is plaintext, and for this reason this text can probably be checked on these characted and escaped before being filled out in the contracts. Pls fix

Insights product categorien

Zie ook #21, dat zal eerst gefixt moeten worden voordat dit iets is waar je aan wilt beginnen.

Omdat er 10 miljoen miljard verschillende soorten producten zijn (en waarschijnlijk in de toekomst ook aangemaakt zullen wordenm dit is misschien een issue op zichzelf), is het handig om op de insights pagina te kunnen filteren op een categorie. Om hier nog wel wat flexibel in te zijn, is het misschien ook handig om zo iets als #22 te implementeren.

Dit is vooral handig voor CEB om makkelijker reports te maken voor ALV, want veel levels van uncertainty zullen toch onder zelfde (sub)catagorie vallen.

Insights tab not correctly displaying 'Suggested contracts' for prev years

On the home page if you want to look into historic years, there will remain contracts in the category 'Suggested'. This should not be the case, since any suggested contracts that were created in previous years, should now account for suggested contracts in the current year.

An example: in 2020-2021, there is still money on suggested. In 2022-2023, there is no money on suggested.

Possibly this will get fixed with issue: #53

Insights broken

Ik ga nog niet eens proberen te vertalen: holy fuck hier klopt echt geen zak van hahahaha

10000 mismatches aan informatie die op de main page staan van parelpracht. De sommen kloppen voor geen meter en het is onduidelijk welke informatie nu daadwerkelijk correct is en welke informatie dat niet is.

Had van Eline begrepen dat status invoiced en insert jaar nog los bij elkaar opgeteld meoten worden, maar zelfs dan is het getal wat eruit komt anders dan wat op de homepage staat.

Het is oprecht wel een ding dat dit opgelost moet worden, want het is nu gewoon niet duidelijk welke informatie daadwerkelijk klopt, en welke informatie niet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.