I don't think there is one. I looked for one few months ago and ended up building one from scratch with fullcaledar.js, backbone and tastypie
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
It was straight forward. Tastypie makes it really easy to talk json to backbone and plotting the appointments in fullcalendar was even easier. You can have the basic functinality in couple of days. More challenging are the recurring appointments but python's rrule was great help there.
Defined my own. Actually, i have defined a single appointment/event model and then i create an instance of it with different dates and different slug for the range specified.
Use rrlue - http://labix.org/python-dateutil#head-470fa22b2db72000d7abe698a5783a46b0731b57 to calculate the date and time for every date i the range.
So, this how I did it, but you may find a different way.
I have an appointment model and appointment series which is linked to the appointment model.
I have an appointment creation form, which can create a single appointment, but the customer also has an option to create recurring appointments, which will create series.
So, customer is filling in the form and they are asked if this is a recurring appointment. I they select yes it presents them with the following screen:

There they can choose if they want the event to recur daily, monthly, weekly or yearly.
So, when the form is submitted with the interval selected, I create the appointment, create appointment series and then use rrule to create all the dates.
if form.cleaned_data['is_recur'] == '1':
# Find the interval first
frequency_int = int(form.cleaned_data['frequency'])
if frequency_int == rrule.DAILY:
interval = form.cleaned_data['daily_interval']
elif frequency_int == rrule.WEEKLY:
interval = form.cleaned_data['weekly_interval']
elif frequency_int == rrule.MONTHLY:
interval = form.cleaned_data['monthly_interval']
else:
interval = form.cleaned_data['yearly_interval']
Then I loop through all the dates created by rrule and create an appointment instance with a different date and the slug, which is the combination of appointment name and the date/time.
e.g. slug /appointment/pregnancy-yoga-dads-support-people-welcome/2013/1/23/0630PM/
In appointment series I store this info:
a_s = AppointmentSeries.objects.create(
business=business,first_appointment=appt,
frequency=form.cleaned_data['frequency'],
is_date_or_number = form.cleaned_data['is_date_or_number'],
recurrences=form.cleaned_data['recurrences'],
recurrence_end_date=None,
interval=interval
)
You need to save the first appointment from which everything was created so that you can later refer to it when editing the series.
Anyway, let me know if you need further info and I'm willing to help.
You may want to look at this post for fullcalendar.js and backbone.js integration. It helped me somewhat - http://blog.shinetech.com/2011/08/05/building-a-shared-calendar-with-backbone-js-and-fullcalendar-a-step-by-step-tutorial/
Cheers,
Mario
On Sun, Jan 13, 2013 at 12:44:27PM +1100, Mario Gudelj wrote:
> It was straight forward. Tastypie makes it really easy to talk json to
> backbone and plotting the appointments in fullcalendar was even easier. You
> can have the basic functinality in couple of days. More challenging are the
> recurring appointments but python's rrule was great help there.
I'm going to code a kind of calendar too. I'm still thinking on a good approach
for the recurring appointments at the data model level. Are you using any app
for that? Or did you define your own data model?
Iñigo
Iñigo
>
> Cheers,
>
> Mario
>
>
>
>
>
>
>
>
>
>
> On 13 Jan, 2013 11:33 PM, "Iñigo Medina" <ime...@grosshat.com> wrote:
>
> >
> > On Sun, Jan 13, 2013 at 12:44:27PM +1100, Mario Gudelj wrote:
> > > It was straight forward. Tastypie makes it really easy to talk json to
> > > backbone and plotting the appointments in fullcalendar was even easier.
> > You
> > > can have the basic functinality in couple of days. More challenging are
> > the
> > > recurring appointments but python's rrule was great help there.
> >
> > I'm going to code a kind of calendar too. I'm still thinking on a good
> > approach
> > for the recurring appointments at the data model level. Are you using any
> > app
> > for that? Or did you define your own data model?
> >
> > Iñigo
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.