def registration_dashboard_send_dm(request, urlname, regid): conference = get_authenticated_conference(request, urlname) reg = get_object_or_404(ConferenceRegistration, conference=conference, pk=regid) if not reg.messaging: # Should never have the link, but just in case messages.warning(request, 'This registration has no direct messaging configured') return HttpResponseRedirect("../") maxlength = get_messaging_class(reg.messaging.provider.classname).direct_message_max_length if request.method == 'POST': form = BackendRegistrationDmForm(maxlength, data=request.POST) if form.is_valid(): send_reg_direct_message(reg, form.cleaned_data['message']) messages.info(request, "Direct message sent.") return HttpResponseRedirect("../") else: form = BackendRegistrationDmForm(maxlength) return render(request, 'confreg/admin_backend_form.html', { 'conference': conference, 'basetemplate': 'confreg/confadmin_base.html', 'form': form, 'what': 'new direct message', 'savebutton': 'Send direct message', 'cancelurl': '../', 'breadcrumbs': [('../../', 'Registration list'), ('../', reg.fullname)], })
def _load_messaging_formclass(classname): return getattr(get_messaging_class(classname), 'provider_form_class', BackendSeriesMessagingForm)