Exemple #1
0
    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,
            })
Exemple #2
0
    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)
Exemple #3
0
    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,
            })
Exemple #4
0
    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,
            })
Exemple #5
0
    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)
Exemple #6
0
    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,
            })
Exemple #7
0
    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,
            })
Exemple #8
0
    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,
            })
Exemple #9
0
    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)
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
    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'},
                ]
            })
Exemple #13
0
    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,
            })
Exemple #14
0
    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,
            })