コード例 #1
0
ファイル: views.py プロジェクト: huntzhan/HappyTree
def create_group(request):
    if request.method == "POST":
        form_group_name = GroupNameHandlerForm(request.POST)
        form_group_description = GroupDescriptionHandlerForm(request.POST)
        if form_group_name.is_valid() and form_group_description.is_valid():
            # create group
            group_name = form_group_name.cleaned_data["group_name"]
            group_description = form_group_description.cleaned_data["group_description"]

            # group name must be unique!
            # use user name + created time as group name
            unique_group_name = "".join(("[real]", request.user.username, unicode(datetime.now())))
            group = Group(name=unique_group_name)
            group.save()
            # create related group info to handle group information
            group_info = GroupInfo(name=group_name, description=group_description, group=group, owner=request.user)
            group_info.save()
            # add user to group manager
            group_info.manager.add(request.user)
            # relate user to group
            request.user.groups.add(group)
            # redirect to group page
            return redirect("group_page", group_info_id=group_info.id)
    else:
        form_group_name = GroupNameHandlerForm()
        form_group_description = GroupDescriptionHandlerForm()
    render_data_dict = {"form_group_name": form_group_name, "form_group_description": form_group_description}
    return render(request, "group_info/create_group_page.html", render_data_dict)
コード例 #2
0
ファイル: views.py プロジェクト: huntzhan/HappyTree
def create_group(request):
    if request.method == "POST":
        form_group_name = GroupNameHandlerForm(request.POST)
        form_group_description = GroupDescriptionHandlerForm(request.POST)
        if form_group_name.is_valid() and form_group_description.is_valid():
            # create group
            group_name = form_group_name.cleaned_data['group_name']
            group_description = \
                    form_group_description.cleaned_data['group_description']

            # group name must be unique!
            # use user name + created time as group name
            unique_group_name = "".join(
                ('[real]', request.user.username, unicode(datetime.now())))
            group = Group(name=unique_group_name)
            group.save()
            # create related group info to handle group information
            group_info = GroupInfo(name=group_name,
                                   description=group_description,
                                   group=group,
                                   owner=request.user)
            group_info.save()
            # add user to group manager
            group_info.manager.add(request.user)
            # relate user to group
            request.user.groups.add(group)
            # redirect to group page
            return redirect('group_page', group_info_id=group_info.id)
    else:
        form_group_name = GroupNameHandlerForm()
        form_group_description = GroupDescriptionHandlerForm()
    render_data_dict = {
        'form_group_name': form_group_name,
        'form_group_description': form_group_description,
    }
    return render(request, 'group_info/create_group_page.html',
                  render_data_dict)
コード例 #3
0
ファイル: views.py プロジェクト: huntzhan/HappyTree
def create_project(request):
    if request.method == 'POST':
        form_project_name = ProjectNameHandlerForm(request.POST)
        form_project_description = ProjectDescriptionHandlerForm(request.POST)
        if form_project_name.is_valid() and form_project_description.is_valid(
        ):
            # get project info
            project_name = form_project_name.cleaned_data['project_name']
            project_description = \
                    form_project_description.cleaned_data['project_description']

            # create manager group and default group
            # manager group is for project management.
            # default group is for adding user individually.
            # create groups
            unique_manage_group_name = \
                    "".join(('[project][manage_group]',
                             request.user.username,
                             unicode(datetime.now())))
            unique_default_group_name = \
                    "".join(('[project][default_group]',
                             request.user.username,
                             unicode(datetime.now())))
            manage_group = Group(name=unique_manage_group_name)
            default_group = Group(name=unique_default_group_name)
            manage_group.save()
            default_group.save()
            # add user to manage_group
            manage_group.user_set.add(request.user)

            # create relate group_infos
            # only for saving the info of group, not the manager
            manage_group_info = GroupInfo(name="manage_group",
                                          group=manage_group,
                                          owner=request.user,
                                          real_flag=False)
            default_group_info = GroupInfo(name="default_group",
                                           group=default_group,
                                           owner=request.user,
                                           real_flag=False)
            manage_group_info.save()
            default_group_info.save()

            # project must be created after all above staff were finished.
            project = Project(name=project_name,
                              description=project_description,
                              manage_group=manage_group,
                              owner=request.user)
            project.save()

            # add manage_group info to project info
            # notice that the default group is treated as a normal group.
            project.normal_group.add(default_group)
            return redirect('project_page', project_id=project.id)
    else:
        form_project_name = ProjectNameHandlerForm()
        form_project_description = ProjectDescriptionHandlerForm()

    #rendering
    render_data_dict = {
        'form_project_name': form_project_name,
        'form_project_description': form_project_description,
    }
    return render(request, 'project/create_project_page.html',
                  render_data_dict)
コード例 #4
0
ファイル: views.py プロジェクト: huntzhan/HappyTree
def create_project(request):
    if request.method == 'POST':
        form_project_name = ProjectNameHandlerForm(request.POST)
        form_project_description = ProjectDescriptionHandlerForm(request.POST)
        if form_project_name.is_valid() and form_project_description.is_valid():
            # get project info
            project_name = form_project_name.cleaned_data['project_name']
            project_description = \
                    form_project_description.cleaned_data['project_description']
            
            # create manager group and default group
            # manager group is for project management.
            # default group is for adding user individually.
            # create groups
            unique_manage_group_name = \
                    "".join(('[project][manage_group]', 
                             request.user.username, 
                             unicode(datetime.now())))
            unique_default_group_name = \
                    "".join(('[project][default_group]', 
                             request.user.username, 
                             unicode(datetime.now())))
            manage_group = Group(name=unique_manage_group_name)
            default_group = Group(name=unique_default_group_name)
            manage_group.save()
            default_group.save()
            # add user to manage_group
            manage_group.user_set.add(request.user)
            
            # create relate group_infos
            # only for saving the info of group, not the manager
            manage_group_info = GroupInfo(name="manage_group",
                                          group=manage_group,
                                          owner=request.user,
                                          real_flag=False)
            default_group_info = GroupInfo(name="default_group",
                                           group=default_group,
                                           owner=request.user,
                                           real_flag=False)
            manage_group_info.save()
            default_group_info.save()


            # project must be created after all above staff were finished.
            project = Project(name=project_name,
                              description=project_description,
                              manage_group=manage_group,
                              owner=request.user)
            project.save()

            # add manage_group info to project info
            # notice that the default group is treated as a normal group.
            project.normal_group.add(default_group)
            return redirect('project_page',
                             project_id=project.id)
    else:
        form_project_name = ProjectNameHandlerForm()
        form_project_description = ProjectDescriptionHandlerForm()

    #rendering
    render_data_dict= {
        'form_project_name': form_project_name,
        'form_project_description': form_project_description,
    }
    return render(request,
                  'project/create_project_page.html',
                  render_data_dict)