def view_profile(request, user_id=None): if not user_id: profile = request.user.profile own = True else: try: profile = Profile.objects.get(user_id=user_id) own = False except Profile.DoesNotExist: messages.error(request, 'Profile does not exist.') return redirect(reverse('home')) runs = profile.runningprofile_set.all() rides = profile.ridingprofile_set.all() workouts = profile.workoutprofile_set.all() if request.method == 'POST': data = {'sender': request.user.profile, 'recipient': profile, 'text': request.POST['text']} form = MessageForm(data) form.save() messages.info(request, f"Message sent to {profile}") return redirect(reverse('home')) form = MessageForm() return render(request, 'registration/view_profile.html', { 'profile': profile, 'runs': runs, 'rides': rides, 'workouts': workouts, 'own': own, 'form': form })
def post(self, request, *args, **kwargs): form = MessageForm(request.POST) if form.is_valid(): message = form.save() message.save() messages = Message.objects.all() cache.set('messages', pickle.dumps(messages)) return HttpResponseRedirect(reverse_lazy('app:message_list')) return HttpResponseRedirect(reverse_lazy('app:message_list'))
def send_message(request): if request.method == 'POST': form = MessageForm(request.POST) form.fields['sender'].required = False if form.is_valid(): msg = form.save(commit=False) recipient = msg.recipient.user.username msg.sender = request.user.profile msg.save() messages.info(request, f'Message sent to {recipient}.') return redirect(reverse('home')) form = MessageForm() return render(request, 'app/send_message.html', {'form': form})