def test_owner_edits_org(self):
     user = self.owner.user
     request = request_factory_login(self.factory, user)
     form = OrganizationForm(
         request,
         instance=self.org,
         data={
             "name": self.org.name,
             "slug": self.org.slug,
             "owner": self.owner.id
         },
     )
     self.assertTrue(form.is_valid())
     form = OrganizationForm(
         request,
         instance=self.org,
         data={
             "name": self.org.name,
             "slug": self.org.slug,
             "owner": self.admin.id
         },
     )
     self.assertTrue(form.is_valid())
     form.save()
     self.assertEqual(self.org.owner.organization_user, self.admin)
示例#2
0
文件: views.py 项目: mkanishka/CRM
def edit_organization(request, pk):
    org_obj = get_object_or_404(Organization, id=pk)
    address_obj = get_object_or_404(Address, id=org_obj.address.id)
    users = User.objects.filter(is_active=True).order_by('email')
    form = OrganizationForm(instance=org_obj, assigned_to=users)
    address_form = BillingAddressForm(instance=address_obj)
    teams = Team.objects.all()
    assignedto_list = request.POST.getlist('assigned_to')
    teams_list = request.POST.getlist('teams')
    if request.method == 'POST':
        form = OrganizationForm(request.POST,
                                instance=org_obj,
                                assigned_to=users)
        address_form = BillingAddressForm(request.POST, instance=address_obj)
        if form.is_valid() and address_form.is_valid():
            address_obj = address_form.save()
            org_obj = form.save(commit=False)
            org_obj.address = address_obj
            org_obj.created_by = request.user
            if request.POST.get('stage') in ['CLOSED WON', 'CLOSED LOST']:
                org_obj.closed_by = request.user
                org_obj.save()
                org_obj.assigned_to.clear()
                org_obj.assigned_to.add(*assignedto_list)
                org_obj.teams.clear()
                org_obj.teams.add(*teams_list)
            if request.is_ajax():
                return JsonResponse({'error': False})
            return HttpResponseRedirect(reverse('organizations:list'))
        else:
            if request.is_ajax():
                return JsonResponse({
                    'error': True,
                    'organization_errors': form.errors
                })
            return render(
                request, 'organizations/create_organization.html', {
                    'organization_form': form,
                    'address_form': address_form,
                    'org_obj': org_obj,
                    'teams': teams,
                    'users': users,
                    'assignedto_list': assignedto_list,
                    'teams_list': teams_list
                })
    else:
        return render(
            request, 'organizations/create_organization.html', {
                'organization_form': form,
                'address_form': address_form,
                'org_obj': org_obj,
                'teams': teams,
                'users': users,
                'assignedto_list': assignedto_list,
                'teams_list': teams_list
            })
示例#3
0
文件: views.py 项目: mkanishka/CRM
def add_organization(request):
    users = User.objects.filter(is_active=True).order_by('email')
    form = OrganizationForm(assigned_to=users)
    address_form = BillingAddressForm()
    teams = Team.objects.all()
    assignedto_list = request.POST.getlist('assigned_to')
    teams_list = request.POST.getlist('teams')
    if request.method == 'POST':
        form = OrganizationForm(request.POST, assigned_to=users)
        address_form = BillingAddressForm(request.POST)
        if form.is_valid() and address_form.is_valid():
            address_obj = address_form.save()
            org_obj = form.save(commit=False)
            org_obj.address = address_obj
            org_obj.created_by = request.user
            org_obj.save()
            org_obj.assigned_to.add(*assignedto_list)
            org_obj.teams.add(*teams_list)
            if request.is_ajax():
                return JsonResponse({'error': False})
            if request.POST.get("savenewform"):
                return HttpResponseRedirect(
                    reverse("organizations:add_organization"))
            else:
                return HttpResponseRedirect(reverse('organizations:list'))
        else:
            if request.is_ajax():
                return JsonResponse({
                    'error': True,
                    'organization_errors': form.errors
                })
            return render(
                request, 'organizations/create_organization.html', {
                    'organization_form': form,
                    'address_form': address_form,
                    'users': users,
                    'status': LEAD_STATUS,
                    'source': LEAD_SOURCE,
                    'teams': teams,
                    'assignedto_list': assignedto_list,
                    'teams_list': teams_list
                })
    else:
        return render(
            request, 'organizations/create_organization.html', {
                'organization_form': form,
                'address_form': address_form,
                'users': users,
                'status': LEAD_STATUS,
                'source': LEAD_SOURCE,
                'teams': teams,
                'assignedto_list': assignedto_list,
                'teams_list': teams_list
            })
示例#4
0
文件: views.py 项目: knospew2/usom
def create_organization(request):
    if request.POST:
        form = OrganizationForm(request.POST)
        if form.is_valid():
            org = form.save(commit=False)
            assert isinstance(org, Organization)
            org.save()
            org.admins.add(request.user)
            return redirect('organization-view', organization_id=org.id)
    else:
        form = OrganizationForm()
    return render(request, 'forms/base-form.html', {
        'form': form,
        'form_title': 'Create Organization',
        'form_action': 'Create'
    })
    def mutate_and_get_payload(cls, input, context, info):
        user = context.user
        organization_id = input.get('id', None)
        organization = get_node(organization_id, context, info, Organization)

        if not organization:
            raise Exception("Invalid Organization")

        if organization.owner != user:
            raise Exception("Invalid Access to Organization")

        logo_id = input.get('logo_id')
        logo = get_node(logo_id, context, info, Media)

        # update logo
        organization.logo = logo

        # update organization
        form = OrganizationForm(input, instance=organization)
        if form.is_valid():
            add_admins(organization, input, context, info)
            organization.save()
        else:
            raise Exception(str(form.errors))

        return UpdateOrganizationMutation(organization=organization)
示例#6
0
    def post(self, request, *args, **kwargs):
        from organizations.forms import OrganizationForm
        from common.templates import render_for_platform

        self.form_post = OrganizationForm(request.POST)

        if request.is_ajax() and self.form_post.is_valid(
        ) and request.user.is_organization_manager():
            post = self.form_post.save(commit=False)
            new_post = post.create_manager_organization(
                name=post.name,
                description=post.description,
                elect=post.elect,
                image=post.image,
                email_1=post.email_1,
                email_2=post.email_2,
                phone_1=post.phone_1,
                phone_2=post.phone_2,
                address_1=post.address_1,
                address_2=post.address_2,
                type=post.type,
                creator=request.user)
            return render_for_platform(request, '<template>',
                                       {'organization': new_post})
        else:
            from django.http import HttpResponseBadRequest
            return HttpResponseBadRequest()
示例#7
0
    def get_context_data(self, **kwargs):
        from organizations.forms import OrganizationForm

        context = super(PublishOrganization, self).get_context_data(**kwargs)
        context["form"] = OrganizationForm(instance=self.organization)
        context["organization"] = self.organization
        return context
示例#8
0
    def test_invalid_form(self):
        form_data = {
            # name is required
            'description': 'opis projekta'
        }

        form = OrganizationForm(data=form_data)
        self.assertFalse(form.is_valid())
示例#9
0
    def test_valid_form(self):
        form_data = {
            'name': 'Organization One',
            'description': 'Description of organization one'
        }

        form = OrganizationForm(data=form_data)
        self.assertTrue(form.is_valid())
示例#10
0
    def test_field_labels(self):
        form = OrganizationForm()

        self.assertEqual(form['name'].label, 'Name')
        self.assertEqual(form['description'].label, 'Description')
        self.assertTrue(form.fields['name'].label is None
                        or form.fields['name'].label == 'Name')
        self.assertTrue(form.fields['description'].label is None
                        or form.fields['description'].label == 'Description')
 def test_admin_edits_org(self):
     user = self.admin.user
     request = request_factory_login(self.factory, user)
     form = OrganizationForm(request,
                             instance=self.org,
                             data={
                                 'name': self.org.name,
                                 'slug': self.org.slug,
                                 'owner': self.owner.id
                             })
     self.assertTrue(form.is_valid())
     form = OrganizationForm(request,
                             instance=self.org,
                             data={
                                 'name': self.org.name,
                                 'slug': self.org.slug,
                                 'owner': self.admin.id
                             })
     self.assertFalse(form.is_valid())
 def test_save_org_form(self):
     request = request_factory_login(self.factory, self.owner.user)
     form = OrganizationForm(request,
                             instance=self.org,
                             data={
                                 'name': self.org.name,
                                 'slug': self.org.slug,
                                 'owner': self.owner.id
                             })
     self.assertTrue(form.is_valid())
     form.save()
示例#13
0
def add_org(request):
    accounts = Account.objects.all()
    users = User.objects.filter(is_active=True).order_by('email')
    #teams = Team.objects.all()
    assignedto_list = request.POST.getlist('assigned_to')
    #teams_list = request.POST.getlist('teams')
    org_account = request.POST.get('account_name')
    org_email = request.POST.get('email')
    org_phone = request.POST.get('phone')
    form = OrganizationForm(assigned_to=users)
    address_form = BillingAddressForm()
    if request.method == 'POST':
        form = OrganizationsForm(request.POST, assigned_to=users)
        address_form = BillingAddressForm(request.POST)
        if address_form.is_valid():
            org_obj = form.save(commit=False)
            address_object = address_form.save()
            org_obj.address = address_object
            org_obj.created_by = request.user
            org_obj.save()
            org_obj.assigned_to.add(*assignedto_list)
            #lead_obj.teams.add(*teams_list)
            if request.POST.get('status') == "converted":
                Account.objects.create(created_by=request.user,
                                       name=org_account,
                                       email=org_email,
                                       phone=org_phone)
            if request.POST.get("savenewform"):
                return HttpResponseRedirect(reverse("organizations:add_org"))
            else:
                return HttpResponseRedirect(reverse('organizations:list'))
        else:
            return render(
                request, 'organizations/create_org.html', {
                    'org_form': form,
                    'address_form': address_form,
                    'accounts': accounts,
                    'users': users,
                    'status': LEAD_STATUS,
                    'source': LEAD_SOURCE,
                    'assignedto_list': assignedto_list
                })
    else:
        return render(
            request, 'organizations/create_org.html', {
                'org_form': form,
                'address_form': address_form,
                'accounts': accounts,
                'users': users,
                'status': LEAD_STATUS,
                'source': LEAD_SOURCE
            })
示例#14
0
 def test_save_org_form(self):
     request = request_factory_login(self.factory, self.owner.user)
     form = OrganizationForm(
         request,
         instance=self.org,
         data={
             "name": self.org.name,
             "slug": self.org.slug,
             "owner": self.owner.pk
         },
     )
     self.assertTrue(form.is_valid())
     form.save()
示例#15
0
 def test_admin_edits_org(self):
     user = self.admin.user
     request = request_factory_login(self.factory, user)
     form = OrganizationForm(
         request,
         instance=self.org,
         data={
             "name": self.org.name,
             "slug": self.org.slug,
             "owner": self.owner.pk
         },
     )
     self.assertTrue(form.is_valid())
     form = OrganizationForm(
         request,
         instance=self.org,
         data={
             "name": self.org.name,
             "slug": self.org.slug,
             "owner": self.admin.pk
         },
     )
     self.assertFalse(form.is_valid())
示例#16
0
    def mutate_and_get_payload(cls, input, context, info):

        user = context.user

        # create organization
        form = OrganizationForm(input)
        if form.is_valid():
            new_organization = form.save(commit=False)
            new_organization.owner = user
            new_organization.save()
        else:
            raise Exception(str(form.errors))

        return CreateOrganizationMutation(organization=new_organization)
示例#17
0
	def get_context_data(self,**kwargs):
		from organizations.forms import OrganizationForm

		c = super(SuggestOrganizationView,self).get_context_data(**kwargs)
		c["form"] = OrganizationForm()
		return c
示例#18
0
    def get_context_data(self, **kwargs):
        from organizations.forms import OrganizationForm

        context = super(CreateOrganization, self).get_context_data(**kwargs)
        context["form"] = OrganizationForm()
        return context
示例#19
0
    def test_field_number(self):
        form = OrganizationForm()

        self.assertEquals(len(form.fields), 2)
示例#20
0
    def test_required_fields(self):
        form = OrganizationForm()

        self.assertTrue(form.fields['name'].required)
        self.assertFalse(form.fields['description'].required)