on implémente le 'et' dans les règles de catégorisation

This commit is contained in:
Jean-Marie Favreau 2024-04-16 14:31:56 +02:00
parent 9e10025ce9
commit 5ba5732019
2 changed files with 20 additions and 14 deletions

View File

@ -859,31 +859,37 @@ class CategorisationRule(models.Model):
def match(self, event):
result = False
if self.description_contains:
if self.desc_exact:
if self.description_contains in event.description:
return True
result = self.description_contains in event.description
else:
if remove_accents(self.description_contains).lower() in remove_accents(event.description).lower():
return True
result = remove_accents(self.description_contains).lower() in remove_accents(event.description).lower()
if not result:
return False
if self.title_contains:
if self.title_exact:
if self.title_contains in event.title:
return True
t_result = self.title_contains in event.title
else:
if remove_accents(self.title_contains).lower() in remove_accents(event.title).lower():
return True
t_result = remove_accents(self.title_contains).lower() in remove_accents(event.title).lower()
if result and not t_result:
return False
result = t_result
if self.location_contains:
if self.loc_exact:
if self.location_contains in event.location:
return True
l_result = self.location_contains in event.location
else:
if remove_accents(self.location_contains).lower() in remove_accents(event.location).lower():
return True
l_result = remove_accents(self.location_contains).lower() in remove_accents(event.location).lower()
return False
if result and not l_result:
return False
result = l_result
return result
class ModerationQuestion(models.Model):

View File

@ -18,7 +18,7 @@
</div>
<h1>Règles de catégorisation</h1>
<p>Chaque règle est considérée dans l'ordre croissant des poids. La première règle satisfaite est appliquée par un changement de catégorie, et on les suivantes ne sont pas appliquées.</p>
<p>Une règle est satisfaite si au moins une des conditions est satisfaite.</p>
<p>Une règle est satisfaite si toutes ses conditions sont satisfaites.</p>
<p>Les règles sont appliquées à l'import sur tous les événements, et à la demande sur les événements sans catégorie.</p>
</header>