def edit_repositories(request, campus_slug=None, error=None): campus = None if campus_slug: campus = get_object_or_404(Campus, slug=campus_slug) repositoryObjs = Repository.objects.filter(campus=campus).order_by('name') else: repositoryObjs = Repository.objects.all().order_by('name') if (request.method == 'POST'): requestObj = request.POST if ('edit' in requestObj or error): context = { 'campuses': campuses, 'current_path': request.path, 'editing': editing(request.path), 'edit': 'true', 'repositories': repositoryObjs } if error: context['error'] = error if 'campuses' in requestObj: campus = [] for campus_id in requestObj.getlist('campuses'): campus.append(Campus.objects.get(pk=campus_id)) context['campus_list'] = campus if 'name' in requestObj: context['repository'] = {'name': requestObj['name']} return render(request, template_name='library_collection/repository_list.html', dictionary=context ) else: try: new_repository = Repository(name = requestObj['name']) validated = new_repository.full_clean() except ValidationError as e: return edit_repositories(request, error='Please enter a unit title') if len(requestObj.getlist('campuses')) < 1: return edit_repositories(request, error='Please enter at least one campus') new_repository.save() new_repository.campus = requestObj.getlist('campuses') return render(request, template_name='library_collection/repository_list.html', dictionary={ 'campus': campus, 'repositories': repositoryObjs, 'campuses': campuses, 'active_tab': active_tab(request), 'current_path': request.path, 'editing': editing(request.path), }, ) return repositories(request, campus_slug)
def edit_repositories(request, campus_slug=None, error=None): campus = None if campus_slug: campus = get_object_or_404(Campus, slug=campus_slug) repositoryObjs = Repository.objects.filter( campus=campus).order_by('name') else: repositoryObjs = Repository.objects.all().order_by('name') if (request.method == 'POST'): requestObj = request.POST if ('edit' in requestObj or error): context = { 'campuses': campuses, 'current_path': request.path, 'editing': editing(request.path), 'edit': 'true', 'repositories': repositoryObjs } if error: context['error'] = error if 'campuses' in requestObj: campus = [] for campus_id in requestObj.getlist('campuses'): campus.append(Campus.objects.get(pk=campus_id)) context['campus_list'] = campus if 'name' in requestObj: context['repository'] = {'name': requestObj['name']} return render( request, template_name='library_collection/repository_list.html', dictionary=context) else: try: new_repository = Repository(name=requestObj['name']) validated = new_repository.full_clean() except ValidationError as e: return edit_repositories(request, error='Please enter a unit title') if len(requestObj.getlist('campuses')) < 1: return edit_repositories( request, error='Please enter at least one campus') new_repository.save() new_repository.campus = requestObj.getlist('campuses') return render( request, template_name='library_collection/repository_list.html', dictionary={ 'campus': campus, 'repositories': repositoryObjs, 'campuses': campuses, 'active_tab': active_tab(request), 'current_path': request.path, 'editing': editing(request.path), }, ) return repositories(request, campus_slug)