Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Currently MERCI only supports a default set of rules for each content type. In future releases we want to add a different set of rules for each role. The role based rules feature would allow users in a role like "Photography 100" to reserve a digital SLR for only 3 hours, but users in the "Photography 400" would be able to check out the same content type for 24 hours.
Comment | File | Size | Author |
---|---|---|---|
#10 | merci_availibilty.png | 52.88 KB | kreynen |
#8 | merci.views_.inc_.diff | 4.11 KB | darrick |
#8 | reserervation-view.txt | 10.21 KB | darrick |
#5 | merci.diff | 1.36 KB | darrick |
#5 | merci.views_default.inc_.txt | 10.34 KB | darrick |
Comments
Comment #1
deproduction CreditAttribution: deproduction commentedA very high percentage of my use of our equipment reservation system is to answer the question "when is Studio A available". At present, I have no way of answering that question. I say "well, when do you want it?" and check that time. If it is not available at that time, they ask, "well, when would it be available?" and I have no way of knowing.
Producers tend to use this tool when away from the facility, and we get emails and phone calls saying "it told me there was a conflict with X resource, but i have no way of knowing why, how to resolve that conflict." There is no information presented, and the only option for the user is to try again and again. Last week, one producer "Andrew Skeels" said he tried 5 different times to reserve an edit station in our lab at various different hours, and was not notified until he called that all edit stations were reserved all that day. I asked him to "report a problem" and we would get back to him.
My thought is that the best solution for this problem would be a graphical display similar to ORS, but any other solution you have would be an improvement.
Comment #2
deproduction CreditAttribution: deproduction commentedPossible Solution:
http://www.youtube.com/watch?v=uAb3TcSWu7Q
Comment #3
RajeshMca CreditAttribution: RajeshMca commentedComment #4
darrick CreditAttribution: darrick commentedI've setup a calendar view which can filter by date and user for reservations. So going to the path users/user-id/reservations/optional-date will pull up all reseravations for user-id.
It would be nice to have a views field for the booked items of a reservation node (although I suppose one could pull this info up with a overridden theme function.)
Also would be nice to to have a views filter the content type of the booked items for a node. That way you could have an exposed filter for the reserved items and then start filtering all the reservations based upon what items are reserved.
Comment #5
darrick CreditAttribution: darrick commentedSo I've added a patch for merci.views.inc which adds the views filter for the content type of a reservation nodes booked items.
I'm new at views, so maybe there is a better way to do this. Like via relationships or some sub-view. But this code gives me what I want for now. I've also attached an export of my view.
Comment #6
darrick CreditAttribution: darrick commentedI felt maybe I was doing this backwards. So I created a calendar view filtering for reservation items and hacked in the code to get the date these items are tied to. This gave a calendar view of the availability of resources but then for bucket items I can only get a view of each bucket item but not a calendar view of whether there are no bucket items available at all during a certain time period.
I found this link helpful to accomplish that: http://drupal.org/node/320596
So, I'm now staring at the merci_get_available_bucket_count and merci_build_reservable_items functions and am not sure how to implement that as views arguments or filters.
What I'd like to end up doing is overriding the calendar theme functions so a user can browse to the calendar page, filter on the reserveable item and then click on an empty space where the item is shown to be available, which would bring up the add reservation page with the datetime and item pre-filled in. At least that is how phpScheduleIt does it. Which is what our access center is currently using.
Comment #7
kreynen CreditAttribution: kreynen commentedI was off for a few days or I would have responded sooner. I'll take a look at the patch. We have a few Views and Blocks to roll in as well. I posted some descriptions and screenshots here...
http://groups.drupal.org/node/19669#comment-68067
This is approach we've been working on to deal with buckets. This was written as a stand alone php file so that we could test the performance of the query. With multiple items a bucket, multiple buckets in a Reservation, and Reservations spanning multiple days we want to be sure this isn't going to make the system unusable for checkouts with larger inventories.
That just kicks out an array. The plan is to format that across the top of the Reservation showing green where there are several items left in the bucket, orange when there a only a few left, and red where the conflict is for each item for each day.
Comment #8
darrick CreditAttribution: darrick commentedWell this is where I've ended up. I think for representing buckets in the template_preprocess functions you could first get the quantity of bucket items for a bucket then loop over the bucket items and build a array of start and end dates when all the items are reserved. i.e
Then override the calendar view day theme.
I don't mind working on this if you feel I'm headed in the right direction. And thanks for the shout out on the groups list.
Comment #9
darrick CreditAttribution: darrick commentedSo I took Kevin's idea and mashed it together with mine. I had to change the SQL query in order to get all the items. But this returns an array of times and counts the items are not available.
Comment #10
kreynen CreditAttribution: kreynen commentedThis is running on Denver Open Media. If we don't see any performance issue, I'll commit this to CVS.
Comment #11
kreynen CreditAttribution: kreynen commented