def create_menu(request, library_code, managed_libraries=[]): library = org_utils.get_library(library_code, managed_libraries) if not library: return HttpResponseForbidden( u'Вы должны быть сотрудником этой организации') if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form') if menu_form.is_valid(): menu = menu_form.save(commit=False) menu.library = library root_item = MenuItem() root_item.save() menu.root_item = root_item menu.save() return redirect('participant_menu:administration:menu_list', library_code=library_code) else: menu_form = MenuForm(prefix='menu_form') return render(request, 'participant_menu/administration/create_menu.html', { 'library': library, 'menu_form': menu_form })
def create_menu(request): if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form') menu_title_forms = [] for lang in settings.LANGUAGES: menu_title_forms.append({ 'form':MenuTitleForm( request.POST, prefix="menu_title_" + lang[0] ), 'lang': lang }) if menu_form.is_valid(): menu = menu_form.save(commit=False) valid = False for menu_title_form in menu_title_forms: valid = menu_title_form['form'].is_valid() if not valid: break if valid: root_item = MenuItem() root_item.save() menu.root_item = root_item menu.save() for menu_title_form in menu_title_forms: MenuTitle( lang=menu_title_form['lang'][0], title=menu_title_form['form'].cleaned_data['title'], menu=menu ).save() return redirect('menu:administration:menu_list') else: menu_title_forms = [] for lang in settings.LANGUAGES: menu_title_forms.append({ 'form':MenuTitleForm( initial={ 'lang':lang[0] }, prefix="menu_title_" + lang[0] ), 'lang':lang }) menu_form = MenuForm(prefix='menu_form') return render(request, 'menu/administration/create_menu.html', { 'menu_form': menu_form, 'menu_title_forms': menu_title_forms })
def create_menu(request): if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form') menu_title_forms = [] for lang in settings.LANGUAGES: menu_title_forms.append({ 'form': MenuTitleForm(request.POST, prefix="menu_title_" + lang[0]), 'lang': lang }) if menu_form.is_valid(): menu = menu_form.save(commit=False) valid = False for menu_title_form in menu_title_forms: valid = menu_title_form['form'].is_valid() if not valid: break if valid: root_item = MenuItem() root_item.save() menu.root_item = root_item menu.save() for menu_title_form in menu_title_forms: MenuTitle( lang=menu_title_form['lang'][0], title=menu_title_form['form'].cleaned_data['title'], menu=menu).save() return redirect('menu:administration:menu_list') else: menu_title_forms = [] for lang in settings.LANGUAGES: menu_title_forms.append({ 'form': MenuTitleForm(initial={'lang': lang[0]}, prefix="menu_title_" + lang[0]), 'lang': lang }) menu_form = MenuForm(prefix='menu_form') return render(request, 'menu/administration/create_menu.html', { 'menu_form': menu_form, 'menu_title_forms': menu_title_forms })
def edit_menu(request, menu_pk): menu = get_object_or_404(Menu, pk=menu_pk) if request.method == 'POST': form = MenuForm(request.POST, instance=menu) if form.is_valid(): form.save() return HttpResponseRedirect('/admin/%s/menu/' % APP_LABEL) else: form = MenuForm(instance = menu) return render_to_response('admin/%s/edit_menu.html' % APP_LABEL, { 'form': form, 'menu': menu, 'flat_structure': menu.root_item.get_flattened() }, context_instance=RequestContext(request))
def edit_menu(request, id, library_code, managed_libraries=[]): library = org_utils.get_library(library_code, managed_libraries) if not library: return HttpResponseForbidden(u'Вы должны быть сотрудником этой организации') menu = get_object_or_404(Menu, id=id) if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form', instance=menu) if menu_form.is_valid(): menu = menu_form.save(commit=False) menu.save() return redirect('participant_menu:administration:menu_list', library_code=library_code) else: menu_form = MenuForm(prefix='menu_form', instance=menu) return render(request, 'participant_menu/administration/edit_menu.html', { 'library': library, 'menu_form': menu_form, })
def create_menu(request, library_code, managed_libraries=[]): library = org_utils.get_library(library_code, managed_libraries) if not library: return HttpResponseForbidden(u'Вы должны быть сотрудником этой организации') if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form') if menu_form.is_valid(): menu = menu_form.save(commit=False) menu.library = library root_item = MenuItem() root_item.save() menu.root_item = root_item menu.save() return redirect('participant_menu:administration:menu_list', library_code=library_code) else: menu_form = MenuForm(prefix='menu_form') return render(request, 'participant_menu/administration/create_menu.html', { 'library': library, 'menu_form': menu_form })
def edit_menu(request, id, library_code, managed_libraries=[]): library = org_utils.get_library(library_code, managed_libraries) if not library: return HttpResponseForbidden( u'Вы должны быть сотрудником этой организации') menu = get_object_or_404(Menu, id=id) if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form', instance=menu) if menu_form.is_valid(): menu = menu_form.save(commit=False) menu.save() return redirect('participant_menu:administration:menu_list', library_code=library_code) else: menu_form = MenuForm(prefix='menu_form', instance=menu) return render(request, 'participant_menu/administration/edit_menu.html', { 'library': library, 'menu_form': menu_form, })
def edit_menu(request, id): menu = get_object_or_404(Menu, id=id) menu_item_titles = MenuTitle.objects.filter(menu=menu) menu_item_titles_langs = {} for menu_item_title in menu_item_titles: menu_item_titles_langs[menu_item_title.lang] = menu_item_title if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form', instance=menu) menu_title_forms = [] if menu_form.is_valid(): menu = menu_form.save(commit=False) for lang in settings.LANGUAGES: menu_title_forms.append({ 'form': MenuTitleForm(request.POST, prefix="menu_title_" + lang[0]), 'lang': lang }) valid = False for menu_title_form in menu_title_forms: valid = menu_title_form['form'].is_valid() if not valid: break if valid: menu.save() for menu_title_form in menu_title_forms: lang = menu_title_form['form'].cleaned_data['lang'] if lang in menu_item_titles_langs: if menu_item_titles_langs[ lang].title != menu_title_form[ 'form'].cleaned_data['title']: menu_item_titles_langs[ lang].title = menu_title_form[ 'form'].cleaned_data['title'] menu_item_titles_langs[lang].save() else: MenuTitle(lang=lang, title=menu_title_form['form']. cleaned_data['title'], menu=menu).save() return redirect('menu:administration:menu_list') else: menu_title_forms = [] menus_title_langs = [] for lang in settings.LANGUAGES: for menu_item_title in menu_item_titles: if menu_item_title.lang == lang[0]: menus_title_langs.append(lang[0]) menu_title_forms.append({ 'form': MenuTitleForm(initial={ 'lang': menu_item_title.lang, 'title': menu_item_title.title, }, prefix="menu_title_" + menu_item_title.lang), 'lang': menu_item_title.lang }) new_langs = [] if len(settings.LANGUAGES) != len(menus_title_langs): for lang in settings.LANGUAGES: if lang[0] not in menus_title_langs: new_langs.append(lang[0]) for lang in new_langs: menu_title_forms.append({ 'form': MenuTitleForm(initial={'lang': lang}, prefix="menu_title_" + lang), 'lang': lang }) menu_form = MenuForm(prefix='menu_form', instance=menu) return render(request, 'menu/administration/edit_menu.html', { 'menu_form': menu_form, 'menu_title_forms': menu_title_forms })
def edit_menu(request, id): menu = get_object_or_404(Menu, id=id) menu_item_titles = MenuTitle.objects.filter(menu=menu) menu_item_titles_langs = {} for menu_item_title in menu_item_titles: menu_item_titles_langs[menu_item_title.lang] = menu_item_title if request.method == 'POST': menu_form = MenuForm(request.POST, prefix='menu_form', instance=menu) menu_title_forms = [] if menu_form.is_valid(): menu = menu_form.save(commit=False) for lang in settings.LANGUAGES: menu_title_forms.append({ 'form':MenuTitleForm( request.POST, prefix="menu_title_" + lang[0] ), 'lang': lang }) valid = False for menu_title_form in menu_title_forms: valid = menu_title_form['form'].is_valid() if not valid: break if valid: menu.save() for menu_title_form in menu_title_forms: lang = menu_title_form['form'].cleaned_data['lang'] if lang in menu_item_titles_langs: if menu_item_titles_langs[lang].title != menu_title_form['form'].cleaned_data['title']: menu_item_titles_langs[lang].title = menu_title_form['form'].cleaned_data['title'] menu_item_titles_langs[lang].save() else: MenuTitle( lang=lang, title=menu_title_form['form'].cleaned_data['title'], menu=menu ).save() return redirect('menu:administration:menu_list') else: menu_title_forms = [] menus_title_langs = [] for lang in settings.LANGUAGES: for menu_item_title in menu_item_titles: if menu_item_title.lang == lang[0]: menus_title_langs.append(lang[0]) menu_title_forms.append({ 'form':MenuTitleForm( initial={ 'lang': menu_item_title.lang, 'title': menu_item_title.title, }, prefix="menu_title_" + menu_item_title.lang ), 'lang': menu_item_title.lang }) new_langs = [] if len(settings.LANGUAGES) != len(menus_title_langs): for lang in settings.LANGUAGES: if lang[0] not in menus_title_langs: new_langs.append(lang[0]) for lang in new_langs: menu_title_forms.append({ 'form':MenuTitleForm( initial={ 'lang':lang }, prefix="menu_title_" + lang ), 'lang':lang }) menu_form = MenuForm(prefix='menu_form', instance=menu) return render(request, 'menu/administration/edit_menu.html', { 'menu_form': menu_form, 'menu_title_forms': menu_title_forms })