def post(request, lang, group_id): group_model = Group() group = group_model.get_by_id(group_id) form = GroupForm(request.POST) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: group_model.edit_group(group_id, { 'name': form.cleaned_data.get('name'), }) return HttpResponseRedirect( request.META.get('HTTP_REFERER', '/')) except: pass title = group.name return TemplateResponse( request, 'group.html', { 'title': title + ' | グループ | FEED App 管理', 'group': group, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang, topic_id): if lang == 'ja': topic_model = Topic() else: topic_model = TopicEn() topic = topic_model.get_by_id(topic_id) if topic is None: return JsonResponse({ 'status': 503, 'message': '投稿が存在しません'}, status=503) form = NewForm(request.POST) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: topic_model.new_change( form.cleaned_data.get('new'), topic_id) except: return JsonResponse({ 'status': 500, 'message': 'Not Change'}, status=500) else: return JsonResponse({ 'status': 500, 'message': get_error_message(request)}, status=500) return JsonResponse({ 'status': 200, 'message': 'Changed'}, status=200)
def post(request, lang): form = GroupForm(request.POST) group_model = Group() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: group_model.create_group({ 'name': form.cleaned_data.get('name'), }) return HttpResponseRedirect('/{}/admin/groups'.format(lang)) except: pass return TemplateResponse( request, 'group_create.html', { 'title': '新規投稿 | グループ | FEED App 管理', 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang, title_id): sid = transaction.savepoint() if lang == 'ja': form = TitleForm(request.POST) title_model = Title() introduction_model = Introduction() else: form = TitleEnForm(request.POST) title_model = TitleEn() introduction_model = IntroductionEn() title_post = title_model.get_by_id(title_id) if title_post is None: return HttpResponseRedirect('/{}/admin/titles'.format(lang)) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: title_model.edit_title(title_id, { 'title': form.cleaned_data.get('title'), }) add_introductions = form.cleaned_data.get('introductions') if add_introductions: Introduction.add_introduction_from_title( title_id, add_introductions) else: Introduction.remove_introduction_from_title(title_id) transaction.savepoint_commit(sid) return HttpResponseRedirect('/{}/admin/titles'.format(lang)) except: transaction.savepoint_rollback(sid) pass if form.cleaned_data.get('introductions'): introductions_ids = list( map(int, form.cleaned_data.get('introductions'))) use_introductions = introduction_model.get_by_ids( introductions_ids) else: use_introductions = title_post.introduction_set.all() return TemplateResponse( request, 'title.html', { 'title': '新規投稿 | タイトル | FEED App 管理', 'title_post': title_post, 'use_introductions': use_introductions, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang): try: values = json.loads(request.body.decode("utf-8")) except: values = {} form = FavoriteForm(values) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) return JsonResponse( { 'result': 'failure', 'error_messages': get_error_message(request), }, status=500) if form.is_valid(): try: if lang == 'ja': video_model = Video() else: video_model = VideoEn() video = video_model.get_by_id( video_id=form.cleaned_data.get('video_id')) if video is None: return JsonResponse( { 'result': 'failure', 'messages': 'Does Not Exist' }, status=404) Favorite.create_favorite({ 'uuid': form.cleaned_data.get('uuid'), 'video_id': form.cleaned_data.get('video_id'), 'lang': lang }) return JsonResponse({'result': 'success'}) except Exception as e: return JsonResponse({ 'result': 'failure', 'message': str(e) }, status=500)
def post(request, lang): sid = transaction.savepoint() if lang == 'ja': form = TitleForm(request.POST) title_model = Title() introduction_model = Introduction() else: form = TitleEnForm(request.POST) title_model = TitleEn() introduction_model = IntroductionEn() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: res_title = title_model.create_title({ 'title': form.cleaned_data.get('title'), }) add_introductions = form.cleaned_data.get('introductions') if add_introductions: introduction_model.add_title(res_title.id, add_introductions) transaction.savepoint_commit(sid) return HttpResponseRedirect('/{}/admin/titles'.format(lang)) except: transaction.savepoint_rollback(sid) pass select_introductions = [] if form.cleaned_data.get('introductions'): introductions_ids = list( map(int, form.cleaned_data.get('introductions'))) select_introductions = introduction_model.get_by_ids( introductions_ids) return TemplateResponse( request, 'title_create.html', { 'title': '新規投稿 | タイトル | FEED App 管理', 'select_introductions': select_introductions, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang, category_id): category_model = Category() category = category_model.get_by_id(category_id) groups = Group.get_all() form = CategoryForm(request.POST) if category is None: return HttpResponseRedirect('/{}/admin/categories'.format(lang)) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: category_model.edit_category( category_id, { 'name_ja': form.cleaned_data.get('name_ja'), 'name_en': form.cleaned_data.get('name_en'), 'image': form.cleaned_data.get('image'), 'order': form.cleaned_data.get('order'), 'group': Group.get_by_id( form.cleaned_data.get('group')), }) return HttpResponseRedirect( '/{}/admin/categories'.format(lang)) except: pass title = category.name_ja return TemplateResponse( request, 'category.html', { 'title': title + ' | カテゴリー | FEED App 管理', 'category': category, 'groups': groups, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang): form = CategoryForm(request.POST) category_model = Category() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: category_model.create_category({ 'name_ja': form.cleaned_data.get('name_ja'), 'name_en': form.cleaned_data.get('name_en'), 'image_url': form.cleaned_data.get('image_url'), 'order': form.cleaned_data.get('order'), 'group': Group.get_by_id(form.cleaned_data.get('group')), }) return HttpResponseRedirect( '/{}/admin/categories'.format(lang)) except: pass groups = Group.get_all() return TemplateResponse( request, 'category_create.html', { 'title': '新規投稿 | カテゴリー | FEED App 管理', 'groups': groups, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang, video_id): if lang == 'ja': video_model = Video() else: video_model = VideoEn() video = video_model.get_by_id(video_id) if video is None: return JsonResponse({ 'status': 503, 'message': '投稿が存在しません' }, status=503) form = StatusForm(request.POST) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: video_model.status_change(form.cleaned_data.get('status'), video_id) except: return JsonResponse({ 'status': 500, 'message': 'Not Change' }, status=500) else: return JsonResponse( { 'status': 500, 'message': get_error_message(request) }, status=500) return JsonResponse({'status': 200, 'message': 'Changed'}, status=200)
def post(request, lang): try: values = json.loads(request.body.decode("utf-8")) except: values = {} form = FavoriteForm(values) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) return JsonResponse( { 'result': 'failure', 'messages': get_error_message(request), }, status=500) if form.is_valid(): try: Favorite.delete_favorite({ 'uuid': form.cleaned_data.get('uuid'), 'video_id': form.cleaned_data.get('video_id'), 'lang': lang }) return JsonResponse({'result': 'success'}) except Exception as e: return JsonResponse({ 'result': 'failure', 'messages': str(e) }, status=500)
def post(request, lang, introduction_id): if lang == 'ja': introduction_model = Introduction() else: introduction_model = IntroductionEn() introduction = introduction_model.get_by_id(introduction_id) if introduction is None: return JsonResponse({ 'status': 503, 'message': '投稿が存在しません' }, status=503) form = StatusForm(request.POST) if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: introduction_model.status_change( form.cleaned_data.get('status'), introduction_id) except: return JsonResponse({ 'status': 500, 'message': 'Not Delete' }, status=500) else: return JsonResponse( { 'status': 500, 'message': get_error_message(request) }, status=500) return JsonResponse({'status': 200, 'message': 'Changed'}, status=200)
def post(request, lang): sid = transaction.savepoint() if lang == 'ja': form = TopicForm(request.POST) topic_model = Topic() video_model = Video() else: form = TopicEnForm(request.POST) topic_model = TopicEn() video_model = VideoEn() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: res_topic = topic_model.create_topic({ 'new': form.cleaned_data.get('new'), 'post_type': form.cleaned_data.get('post_type'), 'title': form.cleaned_data.get('title'), 'text': form.cleaned_data.get('text'), 'thumbnail': form.cleaned_data.get('thumbnail'), 'url': form.cleaned_data.get('url'), 'event_date': form.cleaned_data.get('event_date'), 'button_label': form.cleaned_data.get('button_label'), }) add_videos = form.cleaned_data.get('videos') if add_videos: video_model.add_video_from_topic(res_topic.id, add_videos) add_images = form.cleaned_data.get('images') if add_images: topic_model.add_image(res_topic.id, add_images) transaction.savepoint_commit(sid) return HttpResponseRedirect('/{}/admin/topics'.format(lang)) except: transaction.savepoint_rollback(sid) pass select_videos = [] if form.cleaned_data.get('videos'): video_ids = list(map(int, form.cleaned_data.get('videos'))) select_videos = video_model.get_by_ids(video_ids) select_images = [] if form.cleaned_data.get('images'): image_ids = list(map(int, form.cleaned_data.get('images'))) select_images = Image.get_by_ids(image_ids) return TemplateResponse( request, 'topic_create.html', { 'title': '新規投稿 | トピックス | FEED App 管理', 'select_videos': select_videos, 'select_images': select_images, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, 'post_types': [ {'name': 'トピック', 'val': 'topic'}, {'name': 'イベント', 'val': 'event'}, ] })
def post(request, lang): sid = transaction.savepoint() if lang == 'ja': form = VideoForm(request.POST) video_model = Video() else: form = VideoEnForm(request.POST) video_model = VideoEn() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: res_video = video_model.create_video({ 'published_at': form.cleaned_data.get('published_at'), 'title': form.cleaned_data.get('title'), 'text': form.cleaned_data.get('text'), 'youtube_id': form.cleaned_data.get('youtube_id'), }) add_introductions = form.cleaned_data.get('introductions') if add_introductions: video_model.add_introduction(res_video.id, add_introductions) add_categories = form.cleaned_data.get('categories') if add_categories: video_model.add_category(res_video.id, add_categories) add_topics = form.cleaned_data.get('topics') if add_topics: video_model.add_topic(res_video.id, add_topics) transaction.savepoint_commit(sid) return HttpResponseRedirect('/{}/admin/videos'.format(lang)) except: transaction.savepoint_rollback(sid) pass if lang == 'ja': topic_model = Topic() introduction_model = Introduction() else: topic_model = TopicEn() introduction_model = IntroductionEn() select_categories = [] if form.cleaned_data.get('categories'): category_ids = list(map(int, form.cleaned_data.get('categories'))) select_categories = Category.get_by_ids(category_ids) select_introductions = [] if form.cleaned_data.get('introductions'): title_ids = list(map(int, form.cleaned_data.get('introductions'))) select_introductions = introduction_model.get_by_ids(title_ids) select_topics = [] if form.cleaned_data.get('topics'): topic_ids = list(map(int, form.cleaned_data.get('topics'))) select_topics = topic_model.get_by_ids(topic_ids) select_videos = [] if form.cleaned_data.get('videos'): video_ids = list(map(int, form.cleaned_data.get('videos'))) select_videos = video_model.get_by_ids(video_ids) groups = Group.get_all() return TemplateResponse( request, 'video_create.html', { 'title': '新規投稿 | 動画 | FEED App 管理', 'select_categories': select_categories, 'select_introductions': select_introductions, 'select_topics': select_topics, 'select_videos': select_videos, 'groups': groups, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })
def post(request, lang): sid = transaction.savepoint() if lang == 'ja': form = IntroductionForm(request.POST) introduction_model = Introduction() video_model = Video() title_model = Title() else: form = IntroductionEnForm(request.POST) introduction_model = IntroductionEn() video_model = VideoEn() title_model = TitleEn() if form.errors: messages.add_message(request, messages.INFO, dict(form.errors.items())) if form.is_valid(): try: res_introduction = introduction_model.create_introduction({ 'name': form.cleaned_data.get('name'), 'text': form.cleaned_data.get('text'), 'thumbnail': form.cleaned_data.get('thumbnail'), }) add_videos = form.cleaned_data.get('videos') if add_videos: video_model.add_video_from_introduction( res_introduction.id, add_videos) add_titles = form.cleaned_data.get('titles') if add_titles: introduction_model.add_title(res_introduction.id, add_titles) transaction.savepoint_commit(sid) return HttpResponseRedirect( '/{}/admin/introductions'.format(lang)) except: transaction.savepoint_rollback(sid) pass select_titles = [] if form.cleaned_data.get('titles'): title_ids = list(map(int, form.cleaned_data.get('titles'))) select_titles = title_model.get_by_ids(title_ids) select_videos = [] if form.cleaned_data.get('videos'): video_ids = list(map(int, form.cleaned_data.get('videos'))) select_videos = video_model.get_by_ids(video_ids) return TemplateResponse( request, 'introduction_create.html', { 'title': '新規投稿 | イントロダクション | FEED App 管理', 'select_titles': select_titles, 'select_videos': select_videos, 'form_data': form.cleaned_data, 'error_messages': get_error_message(request), 'lang': lang, })