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 6 - How can I disable comments on all nodes / content_types?
Webservice creation in Drupal 6.22
Authorize.net returning multiple deliminators
Drupal: What is wrong with my base_path to my libraries folder
creates programmatically a taxonomy in drupal 6
What is the meaning of invoke all function in drupal
Drupal 6 Slideshow with Drupal Views Cycle module
How to remove apple-touch-icon-precomposed.png error
Drupal Combine subdomains into one domain
Drupal 6 - execute code after taxonomy term delete
Delete and modify fields shown in “drupalsite/node/XXX”
Printing a View within a page of html Drupal 6
Can't create Views
Can't access node-taxonomy.tpl.php through page-taxonomy-term.tpl in Drupal 6
drupal 6 forms type = select multiple = true… what is the returned value?
Pulling date of user's last purchase in drupal

Categories

HOME
mfc
view
alfresco
framework7
malloc
mvvmcross
echarts
azure-media-services
medical
floating-action-button
row
correlation
leiningen
after-effects
progressive-web-apps
facebook-page
lucene.net
scichart
emulator
amazonsellercentral
autocad-plugin
tar
csrf-protection
dcevm
google-search-api
format-specifiers
php-openssl
qhull
sparse-matrix
facet
applozic
ecto
google-cloud-endpoints-v2
uisplitview
avcapturesession
subset-sum
picasso
multilingual
mesos-chronos
preconditions
core-plot
jvm-languages
nand2tetris
eigenvalue
keydown
flashair
rainbowtable
network-flow
qsslsocket
sage-one
drupal-6
setter
worker-thread
feeds
windows-iot-core-10
imanage
httplistener
asp.net-4.5
etsy
autorest
php-parse-error
goose
tform
wapiti
uid
ford-fulkerson
maven-tomcat-plugin
reactive-banana
google-places
wordml
splash
nsight
inmobi
nsmutabledictionary
dd
java.util.concurrent
asp.net-web-api-odata
markers
concurrent-collections
intentservice
oam
farseer
ruby-datamapper
easy-install
flash-builder4.5
jquery-mobile-dialog
pygit2
smtp-auth
cassini-dev
specification-pattern
venn-diagram
uiviewanimation-curve
stage
subgurim-maps
servicehost
self-extracting
remember-me
w3wp.exe
javap
avatar
xetex
sector
scripting-languages

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App