Comments (11)
Still feels a little weird to me, like there should be a more intuitive way to store this information.
But I suppose we could have a button or check box for Improper Checkout and one for Lost Key...
- When you select it during checkout, the system generates both a new
RciComponent
named "Improper Checkout" or "Lost Key" for thatRci
, as well as an entry in theFine
table for thatRciComponent
. - Then we wouldn't have to worry about the Improper Checkout weirdly showing up as a component on the RCI, since it wouldn't have been generated until checkout is being completed.
- We could also add a condition on the
RciComponent
's that get displayed, so that Improper Checkouts and Lost Keys are filtered out.
from project-phoenix.
I think this is safe to close....closing...
from project-phoenix.
@eanyanwu this is looking really good so far!
As far as associating a GordonID with a fine though, for now I am thinking it would be good for the system to automatically assign the GordonID of the user (in which case it would just be null for Common Area), so that at least that col of the Fine table is being filled. This will help for the demonstration of the Export Fines functionality.
Later, after we talk to MC, we can add the ability to assign a specific, non-null GordonID for common areas.
from project-phoenix.
Sweet i'll be pusing that change to #41 within the hour
EDIT: Done.
from project-phoenix.
Add ability to demarcate an improper checkout. In the database, I believe an improper checkout is indicated in the db as a null value for the RCIComponent.
from project-phoenix.
I'm toying with the idea of an easier way to do improper checkout:
- Make an RciComponent called Improper Checkout. Doing it this way will keep the association between fine and rcicomponent, and by the transitive property, rci.
- Representing an improper checkout as a fine without rcicomponent, just leaves us with the ID number to tie to the student. But what if the student has had multiple improper checkouts? How to differentiate?
from project-phoenix.
Good point that there could be a better way to do improper checkout.
But regarding your two points:
- I am not sure if using
RciComponent
for Improper Checkouts is going to exploit that column too much.RciComponent
is not technically a foreign key at this point I don't think, but might as well be. So it will be kind of weird if in the Fines table, you have a bunch of theseRciComponent
's that don't correspond to actual components in the RCI. So would you automatically give eachRci
an Improper CheckoutRciComponent
, when you create theRci
? And this component may or may not be used for anything, depending on whether or not the resident has an improper checkout? That seems kind of counter-intuitive, if generally anRciComponent
refers to a concrete room component, except for the case where it refers to the abstract concept of an improper checkout. - What if in the
Fine
table we add boolean column for improper checkout, and add a column for theRciID
?
from project-phoenix.
Also, I made a comment on your most recent pull request #65 @eanyanwu , which I probably should have made here - we should be consistent with how fine dollar amounts are displayed after they get added. I am thinking it should always display $5.00, regardless of whether the user input 5, 5.00, or $5.00.
from project-phoenix.
Hmm about the issue of improper checkouts:
You are right that it seems inconsistent. It would also introduce edge cases where a resident will see an rci component called "Improper Checkout" on their rci.
What if in the Fine table we add boolean column for improper checkout, and add a column for the RciID?
That would be a bit redundant for other fines, no?
Hmm... I'll brainstorm some more about improper checkout.
from project-phoenix.
Hmm...I decided to check how paper rcis list improper checkouts. Improper checkouts and lost keys are listed as normal component items.
from project-phoenix.
I like that!
The reason I was reticent about adding an RciID to the fines table is as follows:
Supposing you get a fine. It is attached to both your rci and rcicomponent.
Then, there is the possibility that that rcicomponent gets reassigned to another rci. When this happens, it would be a pain to also go through the fines associated with the component to change their rciids as well.
I must note that the above scenario might never even happen since no RA will be reassigning components for RCIs they have already checked out....However, the POSSIBILITY of inconsistency is still there.
from project-phoenix.
Related Issues (20)
- Figure out bathrooms for suites HOT 5
- Add "Other" Component
- Bind images and text descriptions HOT 5
- Differentiate fines/charges HOT 8
- Accurately reflect RA vs. AC HOT 1
- Move furniture around from within the input view. HOT 2
- Legal wording HOT 4
- DateTime is misleading HOT 2
- User Error Responses HOT 3
- Add cost column to RciComponent Table HOT 1
- RD and Admin functionality documentation HOT 2
- Add logging abilities HOT 6
- Admin perspective on various signatures HOT 1
- Common Area Generation Problem HOT 2
- Top logo spaced oddly in IE HOT 1
- Issues encountered during first release HOT 3
- Bug Dump
- Update Readme to reflect recent changes
- Issues encountered during the second checkin HOT 2
- Figure out who updates the RoomAssign Table and how they do so
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from project-phoenix.