def add_mapping(request, work_id): work = Work.objects.get(pk=work_id) title = request.POST['title'].strip() key = normalize_title(title) if TitleMapping.objects.filter(key=key).exclude(work=work).count() > 0: raise Exception mapping = TitleMapping.objects.create( work=work, title=title, key=normalize_title(title), ) return redirect('moderation.views.work_detail', work_id=work.id)
def post(self, request, id): payload = json.loads(request.body) work = Work.objects.get(pk=id) title = payload['title'].strip() key = normalize_title(title) if TitleMapping.objects.filter(key=key).exclude(work=work).count() > 0: raise Exception created = TitleMapping.objects.create( work=work, title=title, key=normalize_title(title), ) created.count = 0 return serialize_title_mapping(created)
def avail(self): return normalize_title(self.target.title) != normalize_title(self.source.title) and self.target.popularity > 0 and self.source.popularity > 0