Drupal event and subscription - drupal

I'm searching a way to make a calendar with events.
The events could be subscribed by authenticated users.
When The user is subscribing, he have to pay some items (price for the event and for meal). One person can pay multiple meals but cannot pay for multiple people (user can select the number of meal but not the number of places he want to book)
How can I do ?
Thanks in advance

There's a useful prebuilt Feature for this over on GitHub: https://github.com/bobchristenson/commerce_event_registration
You'll need a few modules:
- Webform
- Commerce
- Webform Validation
- Rules
- Webform Rules
The last time I used this was some time ago (in fact the last commit on the project was over a year ago), so there may be a few new things to tweak to get it working.
I know it's linked on the GitHub repo, but here's a link to the podcast from Mustardseed about this: http://mustardseedmedia.com/podcast/episode51

for the event subscription part you can use the subscriptions module, the events being a content-type 'event'
https://www.drupal.org/project/subscriptions

Related

How to delete an Analytics Event from Firebase

How can I delete an Analytics Event from Firebase?
While I am testing I wrote some events in Firebase Analytics. Firebase by default orders all events alphabetically. So these testing events interrupts with original events.
I could arrange them by count to push all the testing events to last. But it makes difficult to find the main events since those are not alphabetically sorted.
I didn't find any options in Firebase dashboard to delete a event. Is there a way to delete the old events from firebase?
There is currently no way to delete events once they are logged into Firebase Analytics that I am aware of. However, the events will drift out of the default view (which is set to "last 30 days") as time goes on, or you can switch the time period to a shorter time. As you mentioned, you can also click a column header to sort by some other value or "add filter" to filter by an audience or user property.
You can create a new Firebase project if you want to start from scratch. It's also a fairly common practice to use one project for experimentation and validation of your analytics implementation and then to switch to your production Firebase project when everything looks good.
It is not possible to delete analytics events AFAIK, but on some views you can set up the time interval with the filter at the right-top corner to limit the listed events. In the audience set up you need to rely on typing, I am afraid.
As of 31 May 2018, there is an API for this. Doesn't delete individual events, but you should be able to use it to delete all the events collected by a particular app instance:
User Deletion API v3 (UserDeletion.userDeletionRequest)
It was introduced in this blog post and the intended purpose (user privacy) is described here (last paragraph).
Unfortunately, based on my own question, no one seems to have figured out how to get it to work :(
EDIT
Turns out that, according to Google, this API does delete events (which technically is what the OP was asking), but since the aggregate total remains visible on the Firebase console, it won't help with the OP's specific use case.
As Steve Ganem suggested the simplest thing you can do to reset the Firebase Analytics data is to register new Firebase project and that in your app. You can also keep the old project around for debugging/development.

Logic to Sell Memberships for Children Using Ubercart and Drupal

I'm sorry if this is not within the acceptable question guidelines for Stack Overflow, but I am feeling stumped, and I feel that what I'm trying to do might just be incredibly simple for some of the veterans here.
I've set up an Ubercart on a Drupal installation for a small gym website. What they are wanting is to allow a customer to register and pay for various memberships for their children (youth flag football, teeball, etc.). One person may come back and sign up multiple times throughout the year, and each customer may have multiple children who can each participate in multiple programs.
What I'm thinking is to disable anonymous checkout on Ubercart. The customer billing address will be the saved information for the "parent." I'm thinking that the parents could create Members (their children) which could be stored in a content type called Members and the Members could be linked to the programs of which they are a member via entity reference. The children could maintain their relationship to their parents by authorship.
I've been trying to work through this for the last few hours. Does anyone know of a way the I can accomplish this--maybe with rules? I'm thinking some kind of credit system in which for each quantity of a membership (per program) that they pay for, they get one "credit" to create one entity reference between a member and a program.
Any brainstorming and help on this topic would be majorly appreciated. Thanks.
Your use case sounds more like event registration than selling memberships. Each class would be an event that parents would register their children for. It may seem like overkill here, but I would use something like CiviCRM or RedHen CRM for this. Both support the concept of relationships between members and provide event management tools. You could make each class an event that people would sign up for, pay (they could even register multiple children at the same time) and get a receipt. The event history information would be stored so parents could sign in and see what each child has done. You could even make the list of kids in the class public so parents could see who else is in the class.
Afterward, it would be easy to put together a survey to send to the "attendees" to get feedback on the event/class and notify them about future events. I can think of a dozen different things that these systems cover that you may need in the future (early bird event registration, special pricing for returning parents/children, activity reports to email to parents every year so they can see what their children did...).
You may be able to pull together modules and custom content types (Ubercart Event Registration module as a starting point), but a CRM would provide the things you are looking for now, and the features your customer will be asking for in the future.

A plugin to manage user updates

I am in need of a plugin or any codes, ideas that will make a specific wordpress user have a list of monthly report(payment transactions, account status).
I know it is confusing but what I mean is:
- every month or two, admin will update user savings/credits
- and the user can view his/her current savings/credits
- the user also can view the past report updates
Sample:
Current Savings: #800
Mar 05 - $700
Feb 02 - $400
Jan 02 - $100
When they click one of the past records, they will go to a page with a complete details of the transaction.
NOTE: All payment/transactions are made online. This is just for viewing purpose only. Users cannot edit anything except for their profile.
Can wordpress do this? or I should go with hardcode php? I prefer wordpress because it is convenient to use
Thanks Everyone
Sounds very much like a custom feature which will require you to build it unless you're payment gateway provides this type of functionality for you.
However, you say that the admin will update some values each month. If you're using custom fields, you can use the custom fields plugin to display the values.

Is there a Plone 4 Users and Groups audit trail?

I have successfully created a Plone 4 (Plone 4.0.7) Group whose sole purpose is to manage users.
Ideally we'd like an audit trail of who creates/changes users/groups on the site. Is there any existing functionality available to do this, if not would it be a difficult thing to put in place?
This functionality is not available in Plone by default. You have to register your subscribers for proper events.
The events already available are:
IPrincipalCreatedEvent: A new principal (user) has been created
IPrincipalDeletedEvent: A user has been removed.
ICredentialsUpdatedEvent: A principal (user) has changed his/her password
(Products/PluggableAuthService/interfaces/events.py)
There's not an event raised during roles changes. You have to create your own event for that and then raise it somewhere (a good point could be plone.app.controlpanel.usergroups.py#L319. You'll need to override this browserview)
There is a new product called collective.AuditLog that can partially answer this.
As Giacomo said earlier there is not an event raised during roles changes. However, you could use AuditLog to track when users are Added, Removed, and even when they log in and log out if you wanted. These are all done using Content Rule triggers.
And if you created your own event for roles changes, you could use that as a content rule trigger for AuditLog as well.
A little late, but hopefully this will help someone who stumbles across this question.

How to post calendar event to participant's specific calendar

I am working Calendar API (Java).
My specific requirement is I want to add participant to event and at the same time want to specify the participants calendar.
Let us say I have 2 users. User-A and User-B
User-A is creating calendar event and adding User-B as participant
User-A's calendar is Cal-A and User-B's calendar is Cal-B.
Now when User-A adds User-B as participant, an event is created in User-B's calendar but is created in his/her static calendar. Is there is a way, how I can specify (using java api) that the invitation/ event created by User-B should go into User-B's Calendar-B?
Note: in the applicaiton program, I have access to both User-A' calendar and User-B's calendar.
Thanks in advance.
I believe the short answer is no...
Google Calendar, regardless of the API or the language you use, is based on the iCalendar standard, which, from my readings of it, does not have the concept of "Invite a participant and post event invitation on this specific calendar of that participant." If I'm wrong, the quickest way to get your answer and prove me wrong is to find evidence of such a feature in the iCalendar documentation.
I thought I had a workaround, which is "Hey, if you have access to person-B's calendar, why not just create the event on their calendar and add person-A as an attendee?" I did this by sharing one of my sub-calendars of one of my Google Calendar accounts with another. But sure enough, you get the same problem in reverse. Now person-B has the event in the right place, but person-A has it on their default calendar.
So depending on which is your "primary" account, you may want to go that route, but I'm guessing you find that about as appealing as what you're dealing with already.
The only other workaround I found (which was not all that great), is you can access Person-B's calendar and copy the invite to another calendar (the one you want), and then delete it from the main calendar. This will work (I tried it), but obviously it's not as graceful as what you had in mind. If you need specifics on how to copy/delete or how to access a specific non-default calendar, let me know and I'll post some examples.
It is possible (even if the solution isn't nice). If the person knows the ID of your other calendar (which is a valid email address), he can send the invitation to the email address. The ID can be found in the settings of the calendar and has the form ...#group.calendar.google.com.
Have a look at my other answer at a similar question for a list of drawbacks of this solution.

Resources