def apply_for_job(request, job_id): job = Job.objects.get(pk=job_id) if request.method == 'POST': form = ApplicationForm(request.POST) if form.is_valid(): application = form.save(commit=False) application.job = job application.created_by = request.user application.save() create_notification(request, job.created_by, 'application', extra_id=application.id) return redirect('dashboard') else: form = ApplicationForm() return render(request, 'job/apply_for_job.html', { 'form': form, 'job': job })
def follow_oinker(request, username): user = get_object_or_404(User, username=username) request.user.oinkerprofile.follows.add(user.oinkerprofile) create_notification(to_user=user, request=request, notification_type="follower") return redirect('oinkerprofile', username=username)
def view_application(request, application_id): if request.user.userprofile.is_employer: application = get_object_or_404(Application, pk=application_id, job__created_by=request.user) else: application = get_object_or_404(Application, pk=application_id, created_by=request.user) if request.method == 'POST': content = request.POST.get('content') if content: conversationmessage = ConversationMessage.objects.create( application=application, content=content, created_by=request.user) create_notification(request, to_user=application.created_by, notification_type="message", extra_id=application.id) return redirect('view_application', application_id) context = {'application': application} return render(request, 'userprofile/view_application.html', context)
def follow_reporter(request, username): user = get_object_or_404(User, username=username) request.user.userprofile.follows.add(user.userprofile) create_notification(request, user, 'follower') return redirect('userprofile', username=username)
def api_add_like(request): data = json.loads(request.body) quack_id = data['quack_id'] if not Like.objects.filter(quack_id=quack_id).filter( created_by=request.user).exists(): like = Like.objects.create(quack_id=quack_id, created_by=request.user) quack = Quack.objects.get(pk=quack_id) create_notification(request, quack.created_by, 'like') return JsonResponse({'success': True})
def api_add_like(request): data = json.loads(request.body) ting_id = data['ting_id'] if not Like.objects.filter(ting_id=ting_id).filter(created_by=request.user).exists(): like = Like.objects.create(ting_id=ting_id, created_by=request.user) ting = Ting.objects.get(pk=ting_id) create_notification(request, ting.created_by, 'like') json_response = {'success': True} return JsonResponse(json_response)
def api_add_message(request): data = json.loads(request.body) content = data['content'] conversation_id = data['conversation_id'] message = ConversationMessage.objects.create(conversation_id=conversation_id, content=content, created_by=request.user) to_user = None for user in message.conversations.users.all(): if user != request.user: create_notification(request, user, 'message') return JsonResponse({'success': True})
def api_add_like(request): data = json.loads(request.body) report_id = data['report_id'] if not Like.objects.filter(report_id=report_id).filter( created_by=request.user).exists(): like = Like.objects.create(report_id=report_id, created_by=request.user) report = Report.objects.get(pk=report_id) create_notification(request, report.created_by, 'like') return JsonResponse({'success': True})
def api_add_message(request): data = json.loads(request.body) content = data["content"] conversation_id = data["conversation_id"] message = ConversationMessage.objects.create( conversation_id=conversation_id, created_by=request.user, content=content) for user in message.conversation.users.all(): if user != request.user: create_notification(request, user, 'message') return JsonResponse({"success": True})
def api_add_quack(request): data = json.loads(request.body) body = data['body'] quack = Quack.objects.create(body=body, created_by=request.user) results = re.findall("(^|[^@\w])@(\w{1,20})", body) for result in results: result = result[1] print(result) if User.objects.filter( username=result).exists() and result != request.user.username: create_notification(request, User.objects.get(username=result), 'mention') return JsonResponse({'success': True})