def training_materials_assign(request, pk=None): if pk: tm = get_object_or_404(TrainingMaterial, pk=pk) else: tm = TrainingMaterial() tm_form = AssignForm(instance=tm) if request.method == 'POST': data = {} for key in request.POST: val = request.POST[key] if isinstance(val, basestring): data[key] = val else: try: data[key] = val[0] except (IndexError, TypeError): data[key] = val del data if pk: tm_form = AssignForm(request.POST, instance=tm) else: tm_form = AssignForm(request.POST) if tm_form.is_valid(): tm = tm_form.save() assigned_users = tm_form.cleaned_data['assigned_users'] notification = 'You have been assigned %s. To begin, reply with START %s.' % (tm.title, tm.tag) #self.cleaned_data['text'] connections = [] #assigned_users = tm_form.cleaned_data['assigned_users'] for user in assigned_users: connections.append(user.default_connection) #connections = self.cleaned_data['assigned_users'] send(notification, connections) #send(tm, assigned_users) tm.save() messages.add_message(request, messages.INFO, "Saved and sent training material.") return HttpResponseRedirect(reverse(training_materials)) return render(request, 'training_materials/tm_assign1.html', { "tm": tm, "tm_form": tm_form, "range": range(tm.messagenum),#"x"*tm.messagenum, })