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)
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)
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)
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)