Esempio n. 1
0
 def save(self, user):
     new_member = self._user_cache
     project_member = ProjectMember(project=self.project, user=new_member)
     project_member.save()
     self.project.members.add(project_member)
     if notification:
         notification.send(self.project.member_users.all(), "projects_new_member", {
             "new_member": new_member,
             "project": self.project
         })
         notification.send([new_member], "projects_added_as_member", {
             "adder": user,
             "project": self.project
         })
     return project_member
Esempio n. 2
0
 def save(self, user):
     new_member = self._user_cache
     project_member = ProjectMember(project=self.project, user=new_member)
     project_member.save()
     self.project.members.add(project_member)
     if notification:
         notification.send(self.project.member_users.all(),
                           "projects_new_member", {
                               "new_member": new_member,
                               "project": self.project
                           })
         notification.send([new_member], "projects_added_as_member", {
             "adder": user,
             "project": self.project
         })
     return project_member
Esempio n. 3
0
def create(request, form_class=ProjectForm, template_name="projects/create.html"):
    project_form = form_class(request.POST or None)
    
    if project_form.is_valid():
        project = project_form.save(commit=False)
        project.creator = request.user
        project.save()
        project_member = ProjectMember(project=project, user=request.user)
        project.members.add(project_member)
        project_member.save()
        if notification:
            # @@@ might be worth having a shortcut for sending to all users
            notification.send(User.objects.all(), "projects_new_project",
                {"project": project}, queue=True)
        return HttpResponseRedirect(project.get_absolute_url())
    
    return render_to_response(template_name, {
        "project_form": project_form,
    }, context_instance=RequestContext(request))
Esempio n. 4
0
def create(request, form_class=ProjectTreeForm, template_name="projects/create.html"):
    project_form = form_class(request.POST or None)
    
    if project_form.is_valid():
        project = project_form.save(commit=False)
        project.creator = request.user
        project.save()
        project_member = ProjectMember(project=project, user=request.user)
        project.members.add(project_member)
        project_member.save()

        language = project_form.cleaned_data['language']
        open_updates = project_form.cleaned_data['open_updates']

        # Save profile xattr
        project_profile = ProjectProfile(project=project, 
                            language=language, 
                            open_updates=open_updates
                          )
        project_profile.save()

        # Save template and members group
        template = project_form.cleaned_data.get('template', 
                    project_profile.get_default_template()
        )
        project_tree = ProjectTree(project=project, template=template)
        project_tree.save()
#        member_groups = project_form.cleaned_data['member_groups']
#        for g in member_groups:
#            project_tree.member_groups.add(g)

        if notification:
            # @@@ might be worth having a shortcut for sending to all users
            notification.send(User.objects.all(), "projects_new_project",
                {"project": project}, queue=True)
        return HttpResponseRedirect(project.get_absolute_url())
    
    return render_to_response(template_name, {
        "project_form": project_form,
    }, context_instance=RequestContext(request))
Esempio n. 5
0
def create(request,
           form_class=ProjectForm,
           template_name="projects/create.html"):
    project_form = form_class(request.POST or None)

    if project_form.is_valid():
        project = project_form.save(commit=False)
        project.creator = request.user
        project.save()
        project_member = ProjectMember(project=project, user=request.user)
        project.members.add(project_member)
        project_member.save()
        if notification:
            # @@@ might be worth having a shortcut for sending to all users
            notification.send(User.objects.all(),
                              "projects_new_project", {"project": project},
                              queue=True)
        return HttpResponseRedirect(project.get_absolute_url())

    return render_to_response(template_name, {
        "project_form": project_form,
    },
                              context_instance=RequestContext(request))