mlavrent / teammanager Goto Github PK
View Code? Open in Web Editor NEWA project to manage purchase requests.
Home Page: http://purchase-request-manager.herokuapp.com
License: MIT License
A project to manage purchase requests.
Home Page: http://purchase-request-manager.herokuapp.com
License: MIT License
For long term usage: Keeping records from previous seasons as annual archives and having a fresh page for the new season. Archives can be accessed by every member. Possible location: on the top bar
When I set DEBUG = False
in settings.py, the site automatically gives a 500 error no matter what. I've also checked that ALLOWED_HOSTS
is set correctly.
Adding a group in Django. This group will be informed of new requests via emails but will not be able to approve/deny them.
Adjust "Cost" to "Cost per unit" in the request form to avoid ambiguity.
Create a user settings page with following possible items:
I've noticed it gets a bit clunky once there get to be a lot of requests. One way of alleviating this is to paginate them (say, 20 per page). That'd decrease load on the server as there get to be more requests and de-clutter the page as people usually don't care about requests that are super old.
Need to allow the person in charge of approving/denying requests to approve/deny requests.
We need to use Django for this for our web stuff thingies
Related SO question: https://stackoverflow.com/questions/2913236/html-text-input-field-with-currency-symbol
This will make it more intuitive for users that this is a cost field (and that they need not enter a dollar sign).
Stamping the time the request is approved, the time the order is placed, and the time the product is delivered -- the time when the button is clicked on. Time zone = eastern time.
Adding a place for a note in the request page. However, this note is optional (no error returned if left blank).
This note should be included in the email as well.
This issue should be prioritized.
Test on:
See https://github.com/MLavrentyev/TeamManager/tree/addFilter for continuing progress on this issue
Adding this message to the email sent to approvers (italic, blue):
If this product is not from AndyMark or Vex, please place the order on your own after approving it.
Displaying this message on the home page:
"Approvers, please place the order on your own if the product is not from AndyMark or Vex"
Django only keeps records of the product price and the total cost but overlooks the shipping cost.
Possible resolutions:
It seems that we should not expose our secret key (found in settings.py) as we are doing now. We should regenerate it: https://www.miniwebtool.com/django-secret-key-generator/ and store it in an environment variable so it's not visible in the source code (need to add to heroku context variables too).
For easy running on local machines, we should also add a small script that sets the environment variables (APP_PASS and SECRET_KEY) as needed so testing can be done in one command.
Fix error where some hyperlinks are accepted by the frontend but error out on backend. Example:
Adding two other columns to keep track of the purchase process -- Order Status & Delivery Status.
This is how I am picturing it: Next to approval status, there are these two columns Order Status and Delivery Status. In terms of response, they are both in the format of "check (yes)/question mark(pending)/cross (no)", similar to approval status. So the finance person will click on this entry and then check this column once she placed the order and then check the other column after the product is delivered.
This is second on our priority list.
Add a little bar that pops up on the page (probably at the bottom) that informs a user their request has been completed after:
It'll help the site feel more responsive to users.
Importance: low
Add way to download csv version of the purchase requests.
Need to add methods to:
Need to figure out how to get a login/log out/sign up page going and show only pages users are allowed to see.
Adding a dropdown list for the categories of the product in the request page.
Categories are:
This will be a required field and this information should be included in the email as well.
This dropdown list is preferred to be positioned under the line for item name.
Add the link to the approve/deny page in the email
TBD
All the times both on the webpage and in the csv file are currently shown in UTC, which isn't super helpful for users who are mostly going to be in Eastern time. We need to modify the times before displaying them to always be in eastern time.
This also should be configurable so that if another team wants to use it in another time zone, they can.
Need to figure out a way to deploy the json file containing the Google Sheets API Authentication without adding the file to Git.
Need to show a response message that lets a user know the credentials they entered were incorrect when trying to log in.
If a user is already logged in and visits the login page again, they should be redirected directly to the home page of the purchase requests
Create a page for users to sign up for the site.
Also create a way to recover password (possibly)
Yea
Need to add authorization web page that allows the authorizer to decide whether to authorize the purchase. The app should then send an email to the person in charge of finances to submit the purchase and add the amounts to bookkeeping.
There's currently a lot of configuration variables in settings.py
that I'd like to make more accessible (i.e. so teams can set them without searching through the code). In particular, the following:
It'd be at something like <domain name>/team/settings
. I'd need to figure out how to store these values in the database then
Currently, we have to specify manually who will be receiving the approval request emails. Need to change this to automatically grab the emails of all users in Approvers group and send emails to them.
Make it so there is one setting with which you can set the color scheme of the site.
(i.e. Doris wants it orange)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.