drupal-6


Drupal event registration and attendance recording


I am building a Drupal 6 site, with event managing feature, in particular:
Selling events participation
Recording events attendances: once the event is concluded, administrator can review attendances indicating which users have really participated
I have searched a lot, already seen different similar posts and considered different possibilities before posting,
including signup module and ubercart uc_signup module, but none seem to fit my requirements.
For payment I am using Ubercart.
My strategy is the following:
Create a content-type "event", which holds all information about the event, including the date of the event, description, etc.
This is also an Ubercart product.
This is easily accomplished via CCK and Ubercart (either creating directly the product in Ubercart or creating the content-type with CCK and a product with the same machine name in Ubercart)
Create an "event participation" content-type which has a field holding a reference to event node, a field holding reference to user subscribing the event, a field for "payment status" (paid or not) , a field for "attendance status" (attended or not)
This can be easily done with CCK.
When an user want to attend an event, she creates a node of type "event partecipation":
the field referencing event should be automatically filled with the event
the field referencing the user should be automatically filled with the current user
the creation of the node should be possible only if no node of this type exists for this particular event and user.
if a node of this kind already exists for this event and user it should be deleted
The newly created node has the payment field set to "not paid" and the attendance field set to "not attended" (defaults for new node)
I think all this points can be accomplished with hook_form_alter(). Is it possible?
Once the "event participation has been created" the user is presented with a link to pay the participation.
This is done adding the referenced event to Ubercart cart and redirecting user to checkout page
I think this point can be accomplished with hook_form_alter() and Ubercart API. Is it possible?
When the user fulfills payment, an action is triggered to set the "payment status" field of the "event participation node" referencing the bought product and the buying user is set to "paid".
I think this can be achieved with Ubercart conditional actions. Is it possible?
At this point, we have the possibility to create a view showing all user participating to an event, looking at "event participations" with "payment field" equals "paid"
The event "participation nodes" are still there so, after event has occurred, administrators can set user attendances and present them in a view (probably the same view)
This is simply done with views.
What do you think, is it feasible?
I'd like to go in details of some of the above steps, but for now I am interested in discussing the overall strategy.
Thanks a lot for your attention and for any suggestion.
This seems like 90% exactly what your looking for:
http://drupaleasy.com/blogs/ultimike/2009/03/event-registration-ubercart

Related Links

Drupal: Horizontal Menu
Drupal6 - Export bulk node
Drupal 6 <front>/node lists all nodes (unwanted)
Drupal 6 Syntax Highlighting
Theming node body in Drupal 6
Changing cck fields on content page edit with taxonomy
Using theme functions in custom module
“create a new blog entry” link using views in drupal
Export data into excel sheet - drupal 6
Drupal upgrade 6.20 to 7.0
How to pass multiple arguments to views_embed_view?
Node access for CCK content type
Drupal Pressflow problem with hook_block
Drupal6 - Node import
how to use the token in drupal?
Set a custom message after saving a new node

Categories

HOME
variables
gitlab
zeromq
isabelle
mediawiki
kde
view
getelementsbytagname
leon
jgroups
cross-browser
fancybox
amazon-cloudformation
slick-slider
iggrid
reveal.js
kentor-authservices
nstableview
msp430
iron-router
angular-ui
aurigma
sms-gateway
shared-hosting
errorlevel
csrf-protection
android-widget
user-interaction
xquery-3.0
functor
pdb
mozilla
espeak
hue
android-mediaprojection
eigenvalue
keydown
heightmap
apple-news
datastax-startup
aurelia-validation
csound
iso8601
blacklist
background-service
topbeat
setuptools
nxt
heidisql
packagist
xpath-1.0
endeca-workbench
content-length
createprocessasuser
processmodel
iiviewdeckcontroller
p2
pick
tablelayout
rdtsc
onactivityresult
flask-cors
eol
starcluster
aapt
contenttype
rebol3
expected-exception
concurrent-collections
mysqltuner
ivyde
web2py-modules
odata4j
padarn
rabl
flashvars
delphi-6
distutils
chuck
gwt-ext
php-parser
genshi
psi
xmlspy
servicehost
krl
celltable
cxxtest
google-friend-connect
getresponsestream
xsdobjectgen
routedevent
preference
exchange-server-2003

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App