def save(self, commit=True): # self.instance is a Contact instance company_id = self.data['company_id'] partner_url = self.cleaned_data.get('partnerurl', '') partner_source = self.cleaned_data.get('partnersource', '') status = Status.objects.create(approved_by=self.user) partner = Partner.objects.create(name=self.cleaned_data['partnername'], uri=partner_url, owner_id=company_id, data_source=partner_source, approval_status=status) log_change(partner, self, self.user, partner, partner.name, action_type=ADDITION) create_contact = any( self.cleaned_data.get(field) for field in self.__CONTACT_FIELDS if self.cleaned_data.get(field)) if create_contact: create_location = any( self.cleaned_data.get(field) for field in self.__LOCATION_FIELDS if self.cleaned_data.get(field)) self.instance.partner = partner instance = super(NewPartnerForm, self).save(commit) partner.primary_contact = instance if create_location: location = Location.objects.create( **{ field: self.cleaned_data[field] for field in self.__LOCATION_FIELDS }) if location not in instance.locations.all(): instance.locations.add(location) # Tag creation tag_data = filter(bool, self.cleaned_data['partner-tags'].split(',')) tags = tag_get_or_create(company_id, tag_data) partner.tags = tags partner.save() self.instance.tags = tags log_change(instance, self, self.user, partner, instance.name, action_type=ADDITION) return instance # No contact was created return None
def save(self, commit=True): # self.instance is a Contact instance company_id = self.data['company_id'] partner_url = self.data.get('partnerurl', '') partner_source = self.data.get('partnersource', '') status = Status.objects.create(approved_by=self.user) partner = Partner.objects.create(name=self.data['partnername'], uri=partner_url, owner_id=company_id, data_source=partner_source, approval_status=status) log_change(partner, self, self.user, partner, partner.name, action_type=ADDITION) self.data = remove_partner_data(self.data, ['partnername', 'partnerurl', 'csrfmiddlewaretoken', 'company', 'company_id', 'ct']) create_contact = any(self.cleaned_data.get(field) for field in self.__CONTACT_FIELDS if self.cleaned_data.get(field)) if create_contact: create_location = any(self.cleaned_data.get(field) for field in self.__LOCATION_FIELDS if self.cleaned_data.get(field)) self.instance.partner = partner instance = super(NewPartnerForm, self).save(commit) partner.primary_contact = instance if create_location: location = Location.objects.create(**{ field: self.cleaned_data[field] for field in self.__LOCATION_FIELDS}) if location not in instance.locations.all(): instance.locations.add(location) # Tag creation tag_data = filter(bool, self.cleaned_data['partner-tags'].split(',')) tags = tag_get_or_create(company_id, tag_data) partner.tags = tags partner.save() self.instance.tags = tags log_change(instance, self, self.user, partner, instance.name, action_type=ADDITION) return instance # No contact was created return None
def add_tags(request): company = get_company_or_404(request) data = request.GET.get('data').split(',') tags = tag_get_or_create(company.id, data) return HttpResponse(json.dumps('success'))
def clean_tags(self): data = filter(bool, self.cleaned_data['tags'].split(',')) tags = tag_get_or_create(self.data.get('company'), data) return tags
def add_tags(request): company = get_company_or_404(request) data = request.GET.get("data").split(",") tag_get_or_create(company.id, data) return HttpResponse(json.dumps("success"))
def clean_tags(self): data = filter(bool, self.cleaned_data['tags'].split(',')) tags = tag_get_or_create(self.data['company_id'], data) return tags