Example #1
0
 def test_capitalize(self):
     data = ((u"coucou", u"Coucou"), (u"état de l'art", u"État De L'Art"),
             (u"fusion du si", u"Fusion Du Si"),
             (u"cohérence du SI", u"Cohérence Du SI"), (u"test-and-learn",
                                                        u"Test-And-Learn"))
     for word, capitalizeddWord in data:
         self.assertEqual(capitalizeddWord, capitalize(word))
Example #2
0
def add_tag(request):
    """Add a tag to a lead. Create the tag if needed"""
    answer = {}
    answer["tag_created"] = True  # indicate if a tag was reused or created
    answer["tag_url"] = ""  # url on tag
    answer["tag_name"] = ""  # tag name
    if request.POST["tag"]:
        tagName = capitalize(request.POST["tag"])
        lead = Lead.objects.get(id=int(request.POST["lead_id"]))
        if tagName in lead.tags.all().values_list("name", flat=True):
            answer["tag_created"] = False
        lead.tags.add(tagName)
        if lead.state not in ("WON", "LOST", "FORGIVEN"):
            compute_leads_state(
                relearn=False, leads_id=[
                    lead.id,
                ]
            )  # Update (in background) lead proba state as tag are used in computation
        compute_lead_similarity()  # update lead similarity model in background
        tag = Tag.objects.filter(
            name=tagName
        )[0]  # We should have only one, but in case of bad data, just take the first one
        answer["tag_url"] = urlresolvers.reverse("leads.views.tag",
                                                 args=[
                                                     tag.id,
                                                 ])
        answer["tag_remove_url"] = urlresolvers.reverse(
            "leads.views.remove_tag", args=[tag.id, lead.id])
        answer["tag_name"] = tag.name
        answer["id"] = tag.id
    return HttpResponse(json.dumps(answer), content_type="application/json")
Example #3
0
 def test_capitalize(self):
     data = ((u"coucou", u"Coucou"),
             (u"état de l'art", u"État De L'Art"),
             (u"fusion du si", u"Fusion Du Si"),
             (u"cohérence du SI", u"Cohérence Du SI"),
             (u"test-and-learn", u"Test-And-Learn"))
     for word, capitalizeddWord in data:
         self.assertEqual(capitalizeddWord, capitalize(word))
Example #4
0
def add_tag(request):
    """Add a tag to a lead. Create the tag if needed"""
    answer = {}
    answer["tag_created"] = True  # indicate if a tag was reused or created
    answer["tag_url"] = ""  # url on tag
    answer["tag_name"] = ""  # tag name
    if request.POST["tag"]:
        tagName = capitalize(request.POST["tag"], keepUpper=True)
        lead = Lead.objects.get(id=int(request.POST["lead_id"]))
        if tagName in lead.tags.all().values_list("name", flat=True):
            answer["tag_created"] = False
        lead.tags.add(tagName)
        tag = Tag.objects.filter(name=tagName)[0]  # We should have only one, but in case of bad data, just take the first one
        answer["tag_url"] = urlresolvers.reverse("leads.views.tag", args=[tag.id, ])
        answer["tag_remove_url"] = urlresolvers.reverse("leads.views.remove_tag", args=[tag.id, lead.id])
        answer["tag_name"] = tag.name
        answer["id"] = tag.id
    return HttpResponse(json.dumps(answer), content_type="application/json")
Example #5
0
def add_tag(request):
    """Add a tag to a lead. Create the tag if needed"""
    answer = {}
    answer["tag_created"] = True  # indicate if a tag was reused or created
    answer["tag_url"] = ""  # url on tag
    answer["tag_name"] = ""  # tag name
    if request.POST["tag"]:
        tagName = capitalize(request.POST["tag"])
        lead = Lead.objects.get(id=int(request.POST["lead_id"]))
        if tagName in lead.tags.all().values_list("name", flat=True):
            answer["tag_created"] = False
        lead.tags.add(tagName)
        if lead.state not in ("WON", "LOST", "FORGIVEN"):
            compute_leads_state(relearn=False, leads_id=[lead.id,])  # Update (in background) lead proba state as tag are used in computation
        compute_lead_similarity()  # update lead similarity model in background
        if settings.NEXTCLOUD_TAG_IS_ENABLED:
            tag_leads_files([lead.id])  # Update lead tags from lead files
        tag = Tag.objects.filter(name=tagName)[0]  # We should have only one, but in case of bad data, just take the first one
        answer["tag_url"] = reverse("leads:tag", args=[tag.id, ])
        answer["tag_remove_url"] = reverse("leads:remove_tag", args=[tag.id, lead.id])
        answer["tag_name"] = tag.name
        answer["id"] = tag.id
    return HttpResponse(json.dumps(answer), content_type="application/json")
Example #6
0
def add_tag(request):
    """Add a tag to a lead. Create the tag if needed"""
    answer = {}
    answer["tag_created"] = True  # indicate if a tag was reused or created
    answer["tag_url"] = ""  # url on tag
    answer["tag_name"] = ""  # tag name
    if request.POST["tag"]:
        tagName = capitalize(request.POST["tag"])
        lead = Lead.objects.get(id=int(request.POST["lead_id"]))
        if tagName in lead.tags.all().values_list("name", flat=True):
            answer["tag_created"] = False
        lead.tags.add(tagName)
        tag = Tag.objects.filter(
            name=tagName
        )[0]  # We should have only one, but in case of bad data, just take the first one
        answer["tag_url"] = urlresolvers.reverse("leads.views.tag",
                                                 args=[
                                                     tag.id,
                                                 ])
        answer["tag_remove_url"] = urlresolvers.reverse(
            "leads.views.remove_tag", args=[tag.id, lead.id])
        answer["tag_name"] = tag.name
        answer["id"] = tag.id
    return HttpResponse(json.dumps(answer), content_type="application/json")
Example #7
0
 def save(self, force_insert=False, force_update=False):
     self.name = capitalize(self.name)
     self.trigramme = self.trigramme.upper()
     super(Consultant, self).save(force_insert, force_update)
Example #8
0
 def save(self, *args, **kwargs):
     self.name = capitalize(self.name)
     self.trigramme = self.trigramme.upper()
     super(Consultant, self).save(*args, **kwargs)
Example #9
0
 def save(self, *args, **kwargs):
     self.name = capitalize(self.name)
     self.trigramme = self.trigramme.upper()
     super(SalesMan, self).save(*args, **kwargs)
Example #10
0
 def clean_name(self):
     return capitalize(self.cleaned_data["name"])
Example #11
0
 def save(self, force_insert=False, force_update=False):
     self.name = capitalize(self.name)
     self.trigramme = self.trigramme.upper()
     super(Consultant, self).save(force_insert, force_update)
Example #12
0
 def save(self, *args, **kargs):
     self.name = capitalize(self.name)
     super(Contact, self).save(*args, **kargs)
Example #13
0
 def clean_name(self):
     return capitalize(self.cleaned_data["name"])