def edit(request, slug): _gene_list = get_object_or_404(GeneList, slug=slug) authorized = False if _gene_list.owner == request.user: authorized = True if not authorized: raise PermissionDenied if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): _gene_list.slug=form.cleaned_data['slug'] _gene_list.name=form.cleaned_data['name'] _gene_list.description=form.cleaned_data['description'] _gene_list.is_public=form.cleaned_data['is_public'] _gene_list.last_updated = datetime.datetime.now() _gene_list.save() GeneListItem.objects.filter(gene_list=_gene_list).delete() for gene_id in form.cleaned_data['gene_ids']: GeneListItem.objects.create(gene_list=_gene_list, gene_id=gene_id) return redirect('gene_list', slug=_gene_list.slug) else: form = GeneListForm(initial={ 'name': _gene_list.name, 'description': _gene_list.description, 'is_public': _gene_list.is_public, 'genes': '\n'.join([g['symbol'] for g in _gene_list.get_genes()]), }) return render(request, 'gene_lists/edit.html', { 'form': form, 'gene_list': _gene_list, })
def add(request): if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): unique_slug = form.cleaned_data['slug'] while GeneList.objects.filter(slug=unique_slug): unique_slug += "_" new_list = GeneList.objects.create( slug=unique_slug, name=form.cleaned_data['name'], description=form.cleaned_data['description'], is_public=form.cleaned_data['is_public'], owner=request.user, last_updated=datetime.datetime.now(), ) for gene_id in form.cleaned_data['gene_ids']: GeneListItem.objects.create(gene_list=new_list, gene_id=gene_id) return redirect('gene_list', slug=new_list.slug) else: form = GeneListForm() return render(request, 'gene_lists/add.html', { 'form': form, })
def edit(request, slug): _gene_list = get_object_or_404(GeneList, slug=slug) authorized = False if _gene_list.owner == request.user: authorized = True if not authorized: return HttpResponse('unauthorized') if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): _gene_list.slug=form.cleaned_data['slug'] _gene_list.name=form.cleaned_data['name'] _gene_list.description=form.cleaned_data['description'] _gene_list.is_public=form.cleaned_data['is_public'] _gene_list.last_updated = datetime.datetime.now() _gene_list.save() GeneListItem.objects.filter(gene_list=_gene_list).delete() for gene_id in form.cleaned_data['gene_ids']: GeneListItem.objects.create(gene_list=_gene_list, gene_id=gene_id) return redirect('gene_list', slug=_gene_list.slug) else: form = GeneListForm(initial={ 'name': _gene_list.name, 'description': _gene_list.description, 'is_public': _gene_list.is_public, 'genes': '\n'.join([g['symbol'] for g in _gene_list.get_genes()]), }) return render(request, 'gene_lists/edit.html', { 'form': form, 'gene_list': _gene_list, })
def add(request): if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): unique_slug = form.cleaned_data['slug'] while GeneList.objects.filter(slug=unique_slug): unique_slug += "_" new_list = create_xbrowse_model(GeneList, slug=unique_slug, name=form.cleaned_data['name'], description=form.cleaned_data['description'], is_public=form.cleaned_data['is_public'], owner=request.user, last_updated=datetime.datetime.now(), ) for gene_id in form.cleaned_data['gene_ids']: create_xbrowse_model(GeneListItem, gene_list=new_list, gene_id=gene_id) return redirect('gene_list', slug=new_list.slug) else: form = GeneListForm() return render(request, 'gene_lists/add.html', { 'form': form, 'new_page_url': '/gene_lists', })
def add(request): if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): new_list = GeneList.objects.create( slug=form.cleaned_data['slug'], name=form.cleaned_data['name'], description=form.cleaned_data['description'], is_public=form.cleaned_data['is_public'], owner=request.user, last_updated=datetime.datetime.now(), ) for gene_id in form.cleaned_data['gene_ids']: GeneListItem.objects.create(gene_list=new_list, gene_id=gene_id) return redirect('gene_list', slug=new_list.slug) else: form = GeneListForm() return render(request, 'gene_lists/add.html', { 'form': form, })
def edit(request, slug): gene_list = get_object_or_404(GeneList, slug=slug) authorized = False if gene_list.owner == request.user: authorized = True if not authorized: raise PermissionDenied if request.method == 'POST': form = GeneListForm(request.POST) if form.is_valid(): update_xbrowse_model(gene_list, slug=form.cleaned_data['slug'], name=form.cleaned_data['name'], description=form.cleaned_data['description'], is_public=form.cleaned_data['is_public'], last_updated = datetime.datetime.now()) for gene_list_item in GeneListItem.objects.filter(gene_list=gene_list): delete_xbrowse_model(gene_list_item) for gene_id in form.cleaned_data['gene_ids']: create_xbrowse_model(GeneListItem, gene_list=gene_list, gene_id=gene_id) return redirect('gene_list', slug=gene_list.slug) else: form = GeneListForm(initial={ 'name': gene_list.name, 'description': gene_list.description, 'is_public': gene_list.is_public, 'genes': '\n'.join([g['symbol'] for g in gene_list.get_genes()]), }) return render(request, 'gene_lists/edit.html', { 'form': form, 'gene_list': gene_list, 'new_page_url': '/gene_lists/{}'.format(gene_list.seqr_locus_list.guid) if gene_list.seqr_locus_list else None, })