def add_group_members(request, url): """Display and catch AddMembersForm""" extra = 3 initial = [] data = {} info_initial = {'description': ''} if request.method == 'POST' and request.POST['submitType'] != '': formCopy = request.POST.copy() mod = 0 del formCopy['form-TOTAL_FORMS'], formCopy['form-INITIAL_FORMS'] if request.POST['submitType'] == 'addRowSubmit': del formCopy['submitType'] extra = 1 if request.POST['submitType'] == 'removeRowSubmit': del formCopy['submitType'] extra = 0 last_row_values = [formCopy[key] for key in sorted(formCopy, reverse=True)[:3] if formCopy[key].strip() != ''] if int(request.POST['form-TOTAL_FORMS']) > 1 and len(last_row_values) == 0: mod = -3 info_initial['description'] = formCopy['description'] del formCopy['description'] template = ['email', 'first_name', 'phone'] form_keys = sorted(formCopy) for i in range(0,(len(formCopy)+mod)/3): values = [formCopy[key] for key in form_keys[(i*3):(i*3+3)]] initial.append(zip(template, values)) FormSet = formset_factory(AddMembersForm, formset=BaseAddMembersFormSet, extra=extra) if request.method == 'POST' and request.POST['submitType'] == 'saveSubmit': form = FormSet(request.POST) info_form = AddMembersExtraInfoForm(request.POST) if form.is_valid() and info_form.is_valid(): form.save(url, info_form.cleaned_data['description']) #if request.user.is_anonymous(): request.session['fresh_site'] = True return json.to_json_response({'s': True}) else: data['s'] = False else: form = FormSet(initial=initial) info_form = AddMembersExtraInfoForm(initial=info_initial) data['s'] = False data['form'] = json.clean_json(json.render_to_json('members/add_members.html', {'form': form, 'info_form': info_form})) #return render_to_response('members/add_members.html', data, context_instance=RequestContext(request)) return json.to_json_response(data)
def rename_site(request, url): """Rename group site""" data = {} if request.method == 'POST': site = get_object_or_404(GroupSite, Q(random_name=url) | Q(name=url)) form = RenameSiteForm(request.POST, instance=site) if form.is_valid(): new_site = form.save(commit=False) new_site.name_changed = True new_site.save() return json.to_json_response({'s': True, 'title': new_site.title}) else: data = {'s': False, 'errors': form.errors.keys()} else: form = RenameSiteForm() data['form'] = json.clean_json(json.render_to_json('sites/renameSiteForm.html', {'form': form})) return json.to_json_response(data)
def load_quick_tour(request, url): content = json.clean_json(json.render_to_json('sites/quickTour.html', {'MEDIA_URL': settings.MEDIA_URL})) return json.to_json_response({'content': content})