Ejemplo n.º 1
0
def edit_comment(request, daily_id, comment_id=None):
    u"""コメント編集
    コメントの編集/新規作成を行います
    :param request:
    :param daily_id:コメントが投稿されている日報のid
    :param comment_id:(編集の場合)編集対象のコメントのid
    :return:編集されたコメントの投稿されている日報詳細/コメント編集フォーム(編集失敗の場合)
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(daily=get_or_create_daily(daily_id=daily_id))
    dictionary.update(comment=get_or_create_comment(user=request.user,
                                                    comment_id=comment_id))
    if request.user != dictionary['comment'].user:
        return redirect('login')
    flag, dictionary['comment_form'] = edit_comment_record(
        request, dictionary['daily'], dictionary['comment'])

    if request.method == 'POST' and flag:
        return redirect('dailyreport:view_daily_detail',
                        daily_id=dictionary['daily'].id)
    elif flag is False:
        if 'create' in request.POST:
            del dictionary['comment']
        return render_to_response('dailyreport/comment_edit.html',
                                  dictionary,
                                  context_instance=RequestContext(request))

    return render_to_response('dailyreport/comment_edit.html',
                              dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 2
0
def edit_daily(request, daily_id=None):
    u"""日報編集(U)
    日報を編集し、編集後の日報詳細を表示する
    表示対象は以下の通り
        日報
        日報の作成日または当日(新規作成時)に実施されたタスク
        日報の作成日または当日(新規作成時)に作成されたタスク
    dictionary:
        日報
        日報編集用フォーム
            idが指定されている場合は日報を取得後、フォームとする
            idが未指定の場合には、新規日報のインスタンスを作成し、フォームとする
        日報の作成日または当日(新規作成時)に実施されたタスク(implement_date)
        日報の作成日または当日(新規作成時)に作成されたタスク(create_date)
    :param request: ユーザー情報の取得
    :param daily_id: 編集対象の日報id(未指定の場合新規作成と判断)
    :return: 日報詳細画面(成功時かつプレビュー/公開の場合)、タスク管理画面(成功時かつタスク編集へ移動する場合)
    """
    dictionary = init_dictionary(request=request, daily_id=daily_id)
    dictionary.update(
        daily=get_or_create_daily(user=request.user, daily_id=daily_id))
    if request.user != dictionary['daily'].user:
        return redirect('login')
    flag, dictionary['report_form'] = edit_daily_record(
        request=request, daily=dictionary['daily'])
    dictionary.update(task_form=create_task_form_in_queryset(
        get_task_from_implement_date(request.user,
                                     timezone.now().date())))
    dictionary.update(task_form_next=create_task_form_in_queryset(
        get_next_task(request.user,
                      timezone.now().date())))

    if daily_id:
        dictionary.update(implement_task=get_task_from_implement_date(
            dictionary['daily'].user, dictionary['daily'].create_date))
        dictionary.update(create_task=get_task_from_create_date(
            dictionary['daily'].user, dictionary['daily'].create_date))
    else:
        dictionary.update(implement_task=get_task_from_implement_date(
            request.user,
            timezone.now().date()))
        dictionary.update(
            create_task=get_task_from_create_date(request.user,
                                                  timezone.now().date()))

    if request.method == 'POST':
        if 'gototask' in request.POST and flag:
            return redirect('dailyreport:edit_task')
        elif flag:
            return redirect('dailyreport:view_daily_detail',
                            daily_id=dictionary['report_form'].id)
        else:
            return render_to_response('dailyreport/daily_edit.html',
                                      dictionary,
                                      context_instance=RequestContext(request))

    return render_to_response('dailyreport/daily_edit.html',
                              dictionary,
                              context_instance=RequestContext(request))
def delete_daily(request, daily_id):
    u"""日報削除(D)
    日報の削除を行います
    日報の投稿ユーザーでないユーザーがアクセスした場合、ログインページにリダイレクトされます
    正常に削除できた場合は(ユーザーの)日報一覧画面へリダイレクトされます
    :param request:ユーザー情報の取得
    :param daily_id:削除対象日報id
    :return:日報一覧ページ
    """
    if delete_daily_record(request, get_or_create_daily(request.user, daily_id)):
        return redirect('dailyreport:view_user_daily', user_id=request.user.id)
    else:
        return redirect('login')
Ejemplo n.º 4
0
def view_daily_detail(request, daily_id):
    u"""日報詳細(R)
    日報の詳細を取得し、レンダリングを指示します
    表示対象は以下の通り
        ある日報のレコード
        日報の作成日に実施されたタスク
        日報の作成日に作成されたタスク
    dictionary:
        日報
        日報の作成日に実施されたタスク(implement_date)
        日報の作成日に作成されたタスク(create_date)
        日報に紐付けられたコメント一覧
        コメント入力フォーム
        当日分のタスク一覧(フォーム形式)
        明日以降分のタスク一覧(フォーム形式)
    :param request: ユーザー情報の取得
    :param daily_id: 表示対象の日報取得
    :return: 日報詳細画面
    """
    dictionary = init_dictionary(request=request, daily_id=daily_id)
    dictionary.update(daily=get_or_create_daily(daily_id=daily_id))
    dictionary.update(comments=get_comments_from_daily(dictionary['daily']))
    dictionary.update(task_form=create_task_form_in_queryset(
        get_task_from_implement_date(request.user,
                                     timezone.now().date())))
    dictionary.update(task_form_next=create_task_form_in_queryset(
        get_next_task(request.user,
                      timezone.now().date())))
    dictionary.update(implement_task=get_task_from_implement_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    dictionary.update(create_task=get_task_from_create_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    flag, dictionary['comment_form'] = edit_comment_record(
        request=request,
        daily=dictionary['daily'],
        comment=get_or_create_comment(request.user))

    #2016/10/18 川崎追加。JubatusのQiita記事推薦結果をrcに保存。
    #ここにごちゃごちゃと書くべき処理ではないため、リファクタした方がよい
    temp = dictionary["daily"]
    yuba_title = temp.title
    yuba_content = temp.report_y + temp.report_w + temp.report_t
    rc = recommend_Qiita(yuba_title, yuba_content)
    dictionary.update(recommend=rc)
    print("-----------------------")
    from pprint import pprint
    pprint(rc)

    return render_to_response('dailyreport/daily_detail.html',
                              dictionary,
                              context_instance=RequestContext(request))
Ejemplo n.º 5
0
def delete_daily(request, daily_id):
    u"""日報削除(D)
    日報の削除を行います
    日報の投稿ユーザーでないユーザーがアクセスした場合、ログインページにリダイレクトされます
    正常に削除できた場合は(ユーザーの)日報一覧画面へリダイレクトされます
    :param request:ユーザー情報の取得
    :param daily_id:削除対象日報id
    :return:日報一覧ページ
    """
    if delete_daily_record(request,
                           get_or_create_daily(request.user, daily_id)):
        return redirect('dailyreport:view_user_daily', user_id=request.user.id)
    else:
        return redirect('login')
def edit_daily(request, daily_id=None):
    u"""日報編集(U)
    日報を編集し、編集後の日報詳細を表示する
    表示対象は以下の通り
        日報
        日報の作成日または当日(新規作成時)に実施されたタスク
        日報の作成日または当日(新規作成時)に作成されたタスク
    dictionary:
        日報
        日報編集用フォーム
            idが指定されている場合は日報を取得後、フォームとする
            idが未指定の場合には、新規日報のインスタンスを作成し、フォームとする
        日報の作成日または当日(新規作成時)に実施されたタスク(implement_date)
        日報の作成日または当日(新規作成時)に作成されたタスク(create_date)
    :param request: ユーザー情報の取得
    :param daily_id: 編集対象の日報id(未指定の場合新規作成と判断)
    :return: 日報詳細画面(成功時かつプレビュー/公開の場合)、タスク管理画面(成功時かつタスク編集へ移動する場合)
    """
    dictionary = init_dictionary(request=request, daily_id=daily_id)
    dictionary.update(daily=get_or_create_daily(user=request.user, daily_id=daily_id))
    if request.user != dictionary['daily'].user:
        return redirect('login')
    flag, dictionary['report_form'] = edit_daily_record(request=request, daily=dictionary['daily'])
    dictionary.update(task_form=create_task_form_in_queryset(
        get_task_from_implement_date(request.user, timezone.now().date())
    ))
    dictionary.update(task_form_next=create_task_form_in_queryset(
        get_next_task(request.user, timezone.now().date())
    ))

    if daily_id:
        dictionary.update(implement_task=get_task_from_implement_date(
            dictionary['daily'].user, dictionary['daily'].create_date))
        dictionary.update(create_task=get_task_from_create_date(
            dictionary['daily'].user, dictionary['daily'].create_date))
    else:
        dictionary.update(implement_task=get_task_from_implement_date(request.user, timezone.now().date()))
        dictionary.update(create_task=get_task_from_create_date(request.user, timezone.now().date()))

    if request.method == 'POST':
        if 'gototask' in request.POST and flag:
            return redirect('dailyreport:edit_task')
        elif flag:
            return redirect('dailyreport:view_daily_detail', daily_id=dictionary['report_form'].id)
        else:
            return render_to_response('dailyreport/daily_edit.html', dictionary, context_instance=RequestContext(request))

    return render_to_response('dailyreport/daily_edit.html', dictionary, context_instance=RequestContext(request))
Ejemplo n.º 7
0
def view_daily_detail(request, daily_id):
    u"""日報詳細(R)
    日報の詳細を取得し、レンダリングを指示します
    表示対象は以下の通り
        ある日報のレコード
        日報の作成日に実施されたタスク
        日報の作成日に作成されたタスク
    dictionary:
        日報
        日報の作成日に実施されたタスク(implement_date)
        日報の作成日に作成されたタスク(create_date)
        日報に紐付けられたコメント一覧
        コメント入力フォーム
        当日分のタスク一覧(フォーム形式)
        明日以降分のタスク一覧(フォーム形式)
    :param request: ユーザー情報の取得
    :param daily_id: 表示対象の日報取得
    :return: 日報詳細画面
    """
    dictionary = init_dictionary(request=request, daily_id=daily_id)
    dictionary.update(daily=get_or_create_daily(daily_id=daily_id))
    dictionary.update(comments=get_comments_from_daily(dictionary['daily']))
    dictionary.update(task_form=create_task_form_in_queryset(
        get_task_from_implement_date(request.user,
                                     timezone.now().date())))
    dictionary.update(task_form_next=create_task_form_in_queryset(
        get_next_task(request.user,
                      timezone.now().date())))
    dictionary.update(implement_task=get_task_from_implement_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    dictionary.update(create_task=get_task_from_create_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    flag, dictionary['comment_form'] = edit_comment_record(
        request=request,
        daily=dictionary['daily'],
        comment=get_or_create_comment(request.user))

    return render_to_response('dailyreport/daily_detail.html',
                              dictionary,
                              context_instance=RequestContext(request))
def edit_comment(request, daily_id, comment_id=None):
    u"""コメント編集
    コメントの編集/新規作成を行います
    :param request:
    :param daily_id:コメントが投稿されている日報のid
    :param comment_id:(編集の場合)編集対象のコメントのid
    :return:編集されたコメントの投稿されている日報詳細/コメント編集フォーム(編集失敗の場合)
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(daily=get_or_create_daily(daily_id=daily_id))
    dictionary.update(comment=get_or_create_comment(user=request.user, comment_id=comment_id))
    if request.user != dictionary['comment'].user:
        return redirect('login')
    flag, dictionary['comment_form'] = edit_comment_record(request, dictionary['daily'], dictionary['comment'])

    if request.method == 'POST' and flag:
        return redirect('dailyreport:view_daily_detail', daily_id=dictionary['daily'].id)
    elif flag is False:
        if 'create' in request.POST:
            del dictionary['comment']
        return render_to_response('dailyreport/comment_edit.html', dictionary, context_instance=RequestContext(request))

    return render_to_response('dailyreport/comment_edit.html', dictionary, context_instance=RequestContext(request))
def view_daily_detail(request, daily_id):
    u"""日報詳細(R)
    日報の詳細を取得し、レンダリングを指示します
    表示対象は以下の通り
        ある日報のレコード
        日報の作成日に実施されたタスク
        日報の作成日に作成されたタスク
    dictionary:
        日報
        日報の作成日に実施されたタスク(implement_date)
        日報の作成日に作成されたタスク(create_date)
        日報に紐付けられたコメント一覧
        コメント入力フォーム
        当日分のタスク一覧(フォーム形式)
        明日以降分のタスク一覧(フォーム形式)
    :param request: ユーザー情報の取得
    :param daily_id: 表示対象の日報取得
    :return: 日報詳細画面
    """
    dictionary = init_dictionary(request=request, daily_id=daily_id)
    dictionary.update(daily=get_or_create_daily(daily_id=daily_id))
    dictionary.update(comments=get_comments_from_daily(dictionary['daily']))
    dictionary.update(task_form=create_task_form_in_queryset(
        get_task_from_implement_date(request.user, timezone.now().date())
    ))
    dictionary.update(task_form_next=create_task_form_in_queryset(
        get_next_task(request.user, timezone.now().date())
    ))
    dictionary.update(implement_task=get_task_from_implement_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    dictionary.update(create_task=get_task_from_create_date(
        user=dictionary['daily'].user, date=dictionary['daily'].create_date))
    flag, dictionary['comment_form'] = edit_comment_record(
        request=request, daily=dictionary['daily'],  comment=get_or_create_comment(request.user))

    return render_to_response('dailyreport/daily_detail.html', dictionary, context_instance=RequestContext(request))