yalestc / shifts Goto Github PK
View Code? Open in Web Editor NEWApplication to easily track shifts, reports, and payforms for employees.
License: MIT License
Application to easily track shifts, reports, and payforms for employees.
License: MIT License
We should have a payrate for each user. It should be exported with payform data, such as CSVs.
clicking on a shift in calendar view only lets you edit that instance, rather than giving you the option to edit everything in the series. The update action in the repeating events controller does what it's supposed to, so all that needs to be implemented is a way of optionally pointing the form there.
There should be a keyboard shortcut to add report items to shift reports โ this way we won't have to move the cursor over to the "Add to report" button every time we want to add a new item.
In addition, there should be a note above / around the "Update Your Report" text field area noting what the shortcut is, once it's implemented.
It would be very useful to have a single page from which to update one, some, many, or all of a location's data objects at once, instead of having to manually click through each data object to update its values. This would be particularly useful on the mobile view in a public cluster kilroy, for instance, so you can record and then update all of a location's data objects from your phone in one fell swoop, and not just record them to update one at a time later.
After signing out of a shift, an email is instantly generated and sent to you including your shift report. Many users probably don't want this email, and they should be able to sign out of it.
Add a new user preference option "Recieve an emailed shift report upon submission" or something like that
This is a big one - we really need to get Shifts up-to-date with the current version of Rails, v.3.2.13. It might be worth keeping a list here of plugins we'll definitely need to find gem replacements for / axe completely, and other things we know will break.
When you attempt to create a timeslot with start > end (i.e., start at 9am and end at 2am) through the ajax interface (clicking on the schedule view on the timeslots index), it silently fails with no error message.
This should probably default to creating a timeslot with the endtime incremented by 24 hours. At the very least, we need to start throwing an error.
There is a method written in ar_mailer for this (admin_edit_notification, line 49), but it doesn't look like it's called anywhere. It should be.
Possibly refactor/rethink entire email system. I don't know it well enough or good mailer practice well enough to be certain.
It is highlighted until you add a new entry in your shift report....
Possible new feature
Payform item sets (aka "group jobs") don't have an autocomplete box for users. It's not necessary, but would be nice.
The simple_time_select I made 2 summers ago is clunky and it'd be difficult to implement in rails 3
Let's implement this jquery-based one instead!
https://github.com/jonthornton/jquery-timepicker
When editing a task (ex: /tasks/1/edit) it should provide the current values as default values. See time_slots code (controller and view) for an example.
Useful links were almost entirely broken, got them to work though. There is not, however, a way to delete them as it stands...
when a normal user creates a notice, the thickbox size should by default be just large enough for the content box, the link for more advanced options and the save button. however, in safari, the default size seems to be incorrect. this could be a browser issue b/c I've seen it display properly in Firefox 3.5 and opera
Let's make a publicly viewable version of Shifts online for other people in the world to demo out. We might get international use!
Let's bold "Today"
If someone forgets to sign out of their shift, they shouldn't appear on public view (I thought we'd fixed that though?).
In this case (screenshot attached) Jonah was on shift last Thursday (today is Saturday) and he still appears as signed in. http://imgur.com/s1O7v
Doesn't do a good job of error handling. Not urgent (everything works just fine), but it's a target for refactoring.
Currently it's all one big blob of javascript.
Add in textile-editor-helper. Specifically should be used for the application footer, and for possible implementation of the "boxes" feature, and anything else we think of.
When clicking a "post a new useful link" link for the first time, a thickbox comes up as expected. After the partial is refreshed through AJAX, however, clicking the link will redirect you to create a new link. Refreshing the page re-enables the thickbox...
Delete isn't an appropriate name here, but I can't think of a better one at the moment. It's preparatory to destroy (which is really deactivate). Analagous to new before create, or edit before update (it's so that you can provide a reason for the deletion).
I think I've gotten the behavior about figured out, but I'm still not positive. It seems that before a user edits their location group view preferences, the schedule view isn't respecting their permissions w/ regards to what location groups they're allowed to view. (it's letting them view all location groups). After the preferences get changed, it behaves correctly, I believe.
Probably in the code that causes it to default to all location groups before the preference has been set.
Did you know Shifts has a public GitHub page here: http://yalestc.github.com/shifts/ ?
I didn't either, till just now. It would be a nice bonus at the end of the summer to update the design, especially if we really do want this to be used outside Yale - maybe even include a rundown of features?
Currently, adding users to user roles requires manually going into each user's edit page. There should be a way to mass add user roles to a set of users.
Vertical dividing line appears on schedule view. Will try to figure out how to attach screenshot later? I think it might happen at the block time closest to Time.now? V. strange.
The select boxes in the timeslot creation menus should have, for available hours, a range from the department start to department end times.
This is clicking on the schedule view, in the ajax form.
Similar issues are present in the ajaxed form for new shift creation on the schedule view.
admin-configurable semi-CMS like content boxes, to go on shift reports and the dashboard. General purpose, with admin-editable content, location, and appearance. Should come after TEH.
As it stands editing and deleting a mass job has no effect on the payform items. I couldn't get it to work, so I've just taken out the links for now, but it would be useful...
URLs that begin with https don't automatically become links - I'm guessing the regex only responds to http URLs.
currently, if a new useful link isn't properly created, it will fail silently (thickbox closes, no error messages)
See title; also, refactor the javascript and add a nice visual effect (toggle_slide comes to mind) on checking/unchecking the use_ldap box.
There's a jog after this form loads on the dashboard index; it's loaded within the user_options partial, by the shifts controller, unscheduled action (shifts/unscheduled.js.rjs). Some CSS problem, possibly part of the visual effect (toggle_blind) and not solvable. Regardless, no time to do it now, best left for later.
I remember we solved problems like this at some point in the past, but I don't remember how anymore.
Currently, in the migration file (create_payform_item.rb line 5), payform items have users, but this conflicts with the user method in the model (payform_item.rb). Is user_id in payform_items ever used? If not, we should take it out.
After the sixth calendar, they're all grey
Generate an email nightly with all the watched objects that currently have triggered alerts.
Note that this will be very tricky to do well.
No menu options enable a dept admin to accept a sub request. Low priority and not a problem for our specific purposes, but we should fix this.
Not sure why...
Sometimes tasks should link to a relevant weke article (or other source). Let's:
The end time on the form shows up as 12:00 AM, even though its not
It looks like somebody moved the update button into the profile partial? When a new user is first created, and their profile hasn't really been set, this makes for a really awkward view. This view could use some TLC at some point.
From the database and everywhere, it's old and unused now.
Can be refactored to be more DRY. Not urgent. Currently there's a lot of duplicated code.
it should instead give you the same options you get by clicking the shift and then "destroy this shift"
Right now, it searches on first name, last name, and email no matter what...
right now only dept admins can....
A flag in a department config; if it is set to false, a user cannot directly sign into a punch clock (they can only be signed in by an admin).
From Hengchu. Haven't had a chance to verify:
Hugh and I just encountered a shift app bug, what happened was that Hugh asked for a sub from 3:45-5:00 at TTO, and he also offered a bribe from 3:00-5:00. I took it from 3:45-5:00; however, the shift app assigned all of it from 1:00 - 5:00 to me. I filed a sub again and have Hugh take it to correct the schedule.
New feature! We'd talked about this awhile ago.
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.