コード例 #1
0
def view_user_of_daily(request, user_id):
    u"""ユーザー情報
    ユーザーごとの投稿情報を表示します
    表示対象:
        各ユーザーが投稿した日報
        (自分のページの場合)非公開状態の日報
    :param request: ユーザー情報の取得
    :param user_id: 表示対象ユーザーid
    :return: 指定ユーザーが投稿した日報の一覧
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(daily_release_form=DailySearchForm(request.GET))
    dictionary.update(pages=create_pagination(
        request, get_user_daily_list(request=request, user_id=user_id)))
    dictionary.update(dailys=dictionary['pages'].object_list)
    dictionary.update(is_paginated=True)
    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(userinfo=get_object_or_404(auth.get_user_model(), pk=user_id))

    return render_to_response('dailyreport/daily_list.html', dictionary, context_instance=RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
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))
コード例 #3
0
def search_user_by_keyword(request):
    u"""ユーザー検索
    ユーザーをキーワード検索
    検索対象:
        username, first_name, last_name
    :param request:検索リクエスト
    :return:キーワードを含むユーザー一覧
    """
    dictionary = init_dictionary(request=request)
    if request.method == 'GET':
        form = SearchForm(request.GET)
        if form.is_valid():
            dictionary.update(users=User.objects.all().filter(
                Q(username__contains=form.cleaned_data['keyword']) |
                Q(first_name__contains=form.cleaned_data['keyword']) |
                Q(last_name__contains=form.cleaned_data['keyword'])).order_by('first_name'))
            dictionary.update(user_search_form=form)

            return render_to_response(
                'dailyreport/user_list.html', dictionary, context_instance=RequestContext(request))
        else:
            return redirect('dailyreport:view_all_user_list')
    else:
        dictionary.update(users=User.objects.all().order_by('id'))
        dictionary.update(user_search_form=SearchForm())

    return render_to_response('dailyreport/user_list.html', dictionary, context_instance=RequestContext(request))
コード例 #4
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def view_daily_list(request):
    u"""日報一覧
    日報の一覧を取得し、レンダリングを指示します

    dictionary:
        init:キーワード検索フォーム
        init:日付絞込みフォーム
        公開済みの全日報のクエリセット
        当日分のタスク一覧(フォーム形式)
        明日以降分のタスク一覧(フォーム形式)
    :param request: 関数が呼ばれたときにhtmlから送られてきた情報。ここでは使用しない。
    :return:日報一覧画面(全ユーザーの公開中日報一覧)
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(pages=create_pagination(
        request, get_all_daily_list(request=request, release=True)))
    dictionary.update(dailys=dictionary['pages'].object_list)
    dictionary.update(is_paginated=True)
    if request.method == 'GET' and 'narrow' in request.GET:
        dictionary.update(date_form=DateForm(request.GET))
    else:
        dictionary.update(date_form=DateForm())
    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())))

    return render_to_response('dailyreport/daily_list.html',
                              dictionary,
                              context_instance=RequestContext(request))
コード例 #5
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def view_user_of_daily(request, user_id):
    u"""ユーザー情報
    ユーザーごとの投稿情報を表示します
    表示対象:
        各ユーザーが投稿した日報
        (自分のページの場合)非公開状態の日報
    :param request: ユーザー情報の取得
    :param user_id: 表示対象ユーザーid
    :return: 指定ユーザーが投稿した日報の一覧
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(daily_release_form=DailySearchForm(request.GET))
    dictionary.update(pages=create_pagination(
        request, get_user_daily_list(request=request, user_id=user_id)))
    dictionary.update(dailys=dictionary['pages'].object_list)
    dictionary.update(is_paginated=True)
    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(
        userinfo=get_object_or_404(auth.get_user_model(), pk=user_id))

    return render_to_response('dailyreport/daily_list.html',
                              dictionary,
                              context_instance=RequestContext(request))
コード例 #6
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def search_user_by_keyword(request):
    u"""ユーザー検索
    ユーザーをキーワード検索
    検索対象:
        username, first_name, last_name
    :param request:検索リクエスト
    :return:キーワードを含むユーザー一覧
    """
    dictionary = init_dictionary(request=request)
    if request.method == 'GET':
        form = SearchForm(request.GET)
        if form.is_valid():
            dictionary.update(users=User.objects.all().filter(
                Q(username__contains=form.cleaned_data['keyword'])
                | Q(first_name__contains=form.cleaned_data['keyword'])
                | Q(last_name__contains=form.cleaned_data['keyword'])).
                              order_by('first_name'))
            dictionary.update(user_search_form=form)

            return render_to_response('dailyreport/user_list.html',
                                      dictionary,
                                      context_instance=RequestContext(request))
        else:
            return redirect('dailyreport:view_all_user_list')
    else:
        dictionary.update(users=User.objects.all().order_by('id'))
        dictionary.update(user_search_form=SearchForm())

    return render_to_response('dailyreport/user_list.html',
                              dictionary,
                              context_instance=RequestContext(request))
コード例 #7
0
def view_daily_list(request):
    u"""日報一覧
    日報の一覧を取得し、レンダリングを指示します

    dictionary:
        init:キーワード検索フォーム
        init:日付絞込みフォーム
        公開済みの全日報のクエリセット
        当日分のタスク一覧(フォーム形式)
        明日以降分のタスク一覧(フォーム形式)
    :param request: 関数が呼ばれたときにhtmlから送られてきた情報。ここでは使用しない。
    :return:日報一覧画面(全ユーザーの公開中日報一覧)
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(pages=create_pagination(request, get_all_daily_list(request=request, release=True)))
    dictionary.update(dailys=dictionary['pages'].object_list)
    dictionary.update(is_paginated=True)
    if request.method == 'GET' and 'narrow' in request.GET:
        dictionary.update(date_form=DateForm(request.GET))
    else:
        dictionary.update(date_form=DateForm())
    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())
    ))

    return render_to_response('dailyreport/daily_list.html', dictionary, context_instance=RequestContext(request))
コード例 #8
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
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))
コード例 #9
0
def view_user_list(request):
    u"""ユーザー一覧
    登録しているユーザー全員を表示
    :param request:初期情報
    :return:全ユーザーの一覧
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(users=User.objects.all().order_by('first_name'))
    dictionary.update(user_search_form=SearchForm())

    return render_to_response('dailyreport/user_list.html', dictionary, context_instance=RequestContext(request))
コード例 #10
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def view_user_list(request):
    u"""ユーザー一覧
    登録しているユーザー全員を表示
    :param request:初期情報
    :return:全ユーザーの一覧
    """
    dictionary = init_dictionary(request=request)
    dictionary.update(users=User.objects.all().order_by('first_name'))
    dictionary.update(user_search_form=SearchForm())

    return render_to_response('dailyreport/user_list.html',
                              dictionary,
                              context_instance=RequestContext(request))
コード例 #11
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))
コード例 #12
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))
コード例 #13
0
def edit_task_in_task_page(request):
    u"""タスク一覧(CRU)
    タスク一覧をフォームとして表示します
    表示対象のタスクはユーザーそれぞれのタスクのみです
    また、DateFormフォームより送られてきた日付情報をもとに、タスクフォームセットに表示する情報を絞り込みます
        絞り込む対象は実施日(implement_date)です
        タスクの作成日(create_date)ではありません
    R属性は仮です
        タスク単独を詳しく編集するフォームを実装する可能性があります
    :param request:ユーザー情報の取得
    :return:タスク一覧ページ
    """
    dictionary = init_dictionary(request=request)
    edit_task(request)
    dictionary.update(task_search_form=TaskSearchForm(request.GET))

    dictionary.update(tasks=create_pagination(request, get_narrowing_task(request=request)))
    dictionary.update(task_form=create_task_form_in_queryset(dictionary['tasks'].object_list))
    return render_to_response('dailyreport/task_list.html', dictionary, context_instance=RequestContext(request))
コード例 #14
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def search_daily_by_keyword(request):
    u"""日報検索
    日報をキーワードによって検索します
    検索条件
    ・キーワード数:1~(複数キーワードのand対応)
    ・検索対象:ユーザー名/日報タイトル/日報本文(y/w/t)
    :param request: 検索キーワードの取得
    :return: キーワードをすべて含む日報の一覧
    """
    dictionary = init_dictionary(request=request)
    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 request.method == 'GET':
        form = SearchForm(request.GET)
        if form.is_valid() and form.cleaned_data['keyword'] is not '':
            queries = [
                Q(user__first_name__contains=word)
                | Q(user__last_name__contains=word) | Q(title__contains=word)
                | Q(report_y__contains=word) | Q(report_w__contains=word)
                | Q(report_t__contains=word)
                for word in form.cleaned_data['keyword'].split()
            ]
            query = queries.pop()
            for item in queries:
                query |= item
            dictionary.update(dailys=Daily.objects.filter(
                release=True).filter(query).order_by('-create_date'))
            dictionary.update(search_form=form)
            dictionary.update(keyword=form.cleaned_data['keyword'])
            dictionary.update(is_paginated=False)
            return render_to_response('dailyreport/daily_list.html',
                                      dictionary,
                                      context_instance=RequestContext(request))

        return redirect('dailyreport:view_daily_list')
コード例 #15
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
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))
コード例 #16
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))
コード例 #17
0
ファイル: views.py プロジェクト: aya-taka/Introduction_mysite
def edit_task_in_task_page(request):
    u"""タスク一覧(CRU)
    タスク一覧をフォームとして表示します
    表示対象のタスクはユーザーそれぞれのタスクのみです
    また、DateFormフォームより送られてきた日付情報をもとに、タスクフォームセットに表示する情報を絞り込みます
        絞り込む対象は実施日(implement_date)です
        タスクの作成日(create_date)ではありません
    R属性は仮です
        タスク単独を詳しく編集するフォームを実装する可能性があります
    :param request:ユーザー情報の取得
    :return:タスク一覧ページ
    """
    dictionary = init_dictionary(request=request)
    edit_task(request)
    dictionary.update(task_search_form=TaskSearchForm(request.GET))

    dictionary.update(
        tasks=create_pagination(request, get_narrowing_task(request=request)))
    dictionary.update(task_form=create_task_form_in_queryset(
        dictionary['tasks'].object_list))
    return render_to_response('dailyreport/task_list.html',
                              dictionary,
                              context_instance=RequestContext(request))
コード例 #18
0
def search_daily_by_keyword(request):
    u"""日報検索
    日報をキーワードによって検索します
    検索条件
    ・キーワード数:1~(複数キーワードのand対応)
    ・検索対象:ユーザー名/日報タイトル/日報本文(y/w/t)
    :param request: 検索キーワードの取得
    :return: キーワードをすべて含む日報の一覧
    """
    dictionary = init_dictionary(request=request)
    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 request.method == 'GET':
        form = SearchForm(request.GET)
        if form.is_valid() and form.cleaned_data['keyword'] is not '':
            queries = [Q(user__first_name__contains=word) |
                       Q(user__last_name__contains=word) |
                       Q(title__contains=word) |
                       Q(report_y__contains=word) |
                       Q(report_w__contains=word) |
                       Q(report_t__contains=word) for word in form.cleaned_data['keyword'].split()]
            query = queries.pop()
            for item in queries:
                query |= item
            dictionary.update(dailys=Daily.objects.filter(release=True).filter(query).order_by('-create_date'))
            dictionary.update(search_form=form)
            dictionary.update(keyword=form.cleaned_data['keyword'])
            dictionary.update(is_paginated=False)
            return render_to_response(
                'dailyreport/daily_list.html', dictionary, context_instance=RequestContext(request))

        return redirect('dailyreport:view_daily_list')
コード例 #19
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))