django-lucy-assist 1.0.1__py3-none-any.whl → 1.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-lucy-assist
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: Assistant IA intelligent Revolucy pour outil métier
5
5
  Author-email: Revolucy <hello@revolucy.fr>
6
6
  Maintainer-email: Maxence <hello@revolucy.fr>
@@ -187,6 +187,7 @@ Lucy Assist expose plusieurs endpoints API :
187
187
 
188
188
  - V1.0.0 | Création du module Lucy
189
189
  - V1.0.1 | Correction de bugs
190
+ - V1.0.2 | Correction de bugs
190
191
 
191
192
  ## Déploiement Pypi
192
193
 
@@ -1,4 +1,4 @@
1
- lucy_assist/__init__.py,sha256=RRyzb-WXTuxiOWYG6fBuj_7joZEO2ho7XyE2yTRKZss,335
1
+ lucy_assist/__init__.py,sha256=d3z1eVP4nTVVKLa2UO5FydIpY8L-6tPlydPkLySeJ8c,335
2
2
  lucy_assist/admin.py,sha256=-hNfuwuMfxgZVFQc_ODy6WcyZPxrM_8TfKsRMd0fj38,694
3
3
  lucy_assist/apps.py,sha256=zHZtlBXs5ML4CKtGg7xDyptSWzLfB1ks2VvbXF50hdo,264
4
4
  lucy_assist/conf.py,sha256=xp5t-CRG4L7R-NOkb2sY6-XkmGee7M7Eb-jAVr-CAzk,3500
@@ -15,9 +15,9 @@ lucy_assist/models/conversation.py,sha256=psx2AQtQ5SFP-AJD7wbGabpXXLIGYngdVZfeoT
15
15
  lucy_assist/models/message.py,sha256=kf-ffMtLYNFhXYUrB3QSL97KKDJUOMrKaPjKeOcJa_o,1492
16
16
  lucy_assist/models/project_context_cache.py,sha256=Bnb0VU7pv7QEvjOI6JSLEPvL4BxskCQ0ojWGxO7YDSM,6530
17
17
  lucy_assist/services/__init__.py,sha256=I0brW674WNIKkGHj2lj4sGEDD7HUAr5Z254dsbirdLk,691
18
- lucy_assist/services/bug_notification_service.py,sha256=BkY-xqeC153j6p5GWrc70W5jBKkBFD2Zx68qguNUOrU,6999
18
+ lucy_assist/services/bug_notification_service.py,sha256=TfbjB2klvmeTkQZD-XBjnANmOSnEmPryyvjgg2PGhqk,7222
19
19
  lucy_assist/services/claude_service.py,sha256=9eU28qGadHmUZYW3ExQZOfsH1pxcarzpYlcRhKJu3Yc,15897
20
- lucy_assist/services/context_service.py,sha256=GaZzUHNlJf9-0Mas4_nfi2RgycNLoWjYHCJxCoiwUnA,11997
20
+ lucy_assist/services/context_service.py,sha256=RakjdAV74GlJlLsLYiTRluTQVmnkKC92xrXgWhnYJHQ,12232
21
21
  lucy_assist/services/crud_service.py,sha256=E8-xRxPXXbUuPakGXPsbZfImEJWZx4BZq5DhM5q2I08,11436
22
22
  lucy_assist/services/gitlab_service.py,sha256=uH83fwRSCwiRItznENpYQG4aPckjafYIV9z6OChUrZg,8056
23
23
  lucy_assist/services/project_context_service.py,sha256=bIuqTanc59gP_BLod3oQgWplxpiCgByg-kbUMe_57CQ,14053
@@ -26,7 +26,7 @@ lucy_assist/services/tools_definition.py,sha256=xUJCtFZ1uROxB7jNHY0X75fs5nzFAKr4
26
26
  lucy_assist/static/lucy_assist/css/lucy-assist.css,sha256=gUfj4OUTz_aFiXWau1iXtHEmfUCkUI2zGMfwkLk2nXs,18190
27
27
  lucy_assist/static/lucy_assist/image/icon-lucy.png,sha256=FOYlwXAt40Gr9jsWFmhgPivYOBFWKeYW0lxJI5Up-GM,6710
28
28
  lucy_assist/static/lucy_assist/js/lucy-assist.js,sha256=dmXtSPQ38LisoRWZd3R1Ms6OvVaEk3OrYKcVM0OMb_Q,28207
29
- lucy_assist/templates/lucy_assist/chatbot_sidebar.html,sha256=4U8dVNFv2b9KnR7_jAHbSf6laI8qFTNnIVNjVXMC2W0,18912
29
+ lucy_assist/templates/lucy_assist/chatbot_sidebar.html,sha256=cKyXkH3hPTxqfo42Osr__Aa9eBleI6bw0j1tGJVa0nQ,18919
30
30
  lucy_assist/templates/lucy_assist/partials/documentation_content.html,sha256=byA2EvQT1GaMB5yTQHNt5ZfJKEew9_LxutU8s5muM9s,4143
31
31
  lucy_assist/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  lucy_assist/tests/test_lucy_assist.py,sha256=KBvuED10_gOJWdaRS2zMigM3W5Kp00KhMEwaR8tvhUc,6949
@@ -38,7 +38,7 @@ lucy_assist/utils/message_utils.py,sha256=kABNVlfJTzmbRTVdauKPN5HVRqyw352xu_rlQr
38
38
  lucy_assist/utils/token_utils.py,sha256=rxe9jHjcRJcaIlcw0QuVmYXOjscTsUsxnhhI6RMBzDM,2608
39
39
  lucy_assist/views/__init__.py,sha256=uUPYpuHlBC8j7zKS_DDoWjwpCpRnOIXETY-S2-Ss0cY,288
40
40
  lucy_assist/views/api_views.py,sha256=C8Ftut7qNSauzFNoZ4yPMhiADeEma7aiqrQrN9Gx9Yk,23281
41
- django_lucy_assist-1.0.1.dist-info/METADATA,sha256=yyqUw7o-A0Nviz7O8Z7z4XWzWP-EIab77gXEUctl_rE,5626
42
- django_lucy_assist-1.0.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
43
- django_lucy_assist-1.0.1.dist-info/top_level.txt,sha256=T-UCiwpn5yF3Oem3234TUpSVnEgbkrM2rGz9Tz5N-QA,12
44
- django_lucy_assist-1.0.1.dist-info/RECORD,,
41
+ django_lucy_assist-1.0.2.dist-info/METADATA,sha256=zCXWwX_wzpx_PTl0EtpSpB6ZLVd2gjL15FvyQVdKX44,5656
42
+ django_lucy_assist-1.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
43
+ django_lucy_assist-1.0.2.dist-info/top_level.txt,sha256=T-UCiwpn5yF3Oem3234TUpSVnEgbkrM2rGz9Tz5N-QA,12
44
+ django_lucy_assist-1.0.2.dist-info/RECORD,,
lucy_assist/__init__.py CHANGED
@@ -5,7 +5,7 @@ Un chatbot IA basé sur Claude d'Anthropic, intégrable dans n'importe quelle
5
5
  application Django pour fournir une assistance contextuelle aux utilisateurs.
6
6
  """
7
7
 
8
- __version__ = '1.0.1'
8
+ __version__ = '1.0.2'
9
9
  __author__ = 'Revolucy'
10
10
 
11
11
  default_app_config = 'lucy_assist.apps.LucyAssistConfig'
@@ -153,10 +153,15 @@ suite à la détection d'un bug lors de l'analyse du code via GitLab.
153
153
  ================================================================================
154
154
  """
155
155
 
156
+ # Récupérer l'email expéditeur avec fallback
157
+ from_email = getattr(settings, 'EMAIL_EXPEDITEUR', None) \
158
+ or getattr(settings, 'DEFAULT_FROM_EMAIL', None) \
159
+ or 'noreply@revolucy.fr'
160
+
156
161
  send_mail(
157
162
  subject=sujet,
158
163
  message=message_email,
159
- from_email=settings.DEFAULT_FROM_EMAIL,
164
+ from_email=from_email,
160
165
  recipient_list=[destinataire],
161
166
  fail_silently=False
162
167
  )
@@ -299,12 +299,15 @@ class ContextService:
299
299
  for field_name in search_fields[:5]: # Limiter à 5 champs
300
300
  q_objects |= Q(**{f'{field_name}__icontains': query})
301
301
 
302
- # Filtrer par permissions si le manager user_filter existe
303
- queryset = model.objects
304
- if hasattr(model, 'user_filter'):
305
- queryset = model.user_filter
306
-
307
- objects = queryset.filter(q_objects)[:limit]
302
+ # Filtrer par permissions si possible
303
+ # Note: certains modèles utilisent des managers customs qui
304
+ # dépendent de ThreadLocal/middleware pour l'utilisateur courant
305
+ try:
306
+ queryset = model.objects.all()
307
+ objects = queryset.filter(q_objects)[:limit]
308
+ except AttributeError:
309
+ # Si le manager a besoin d'un utilisateur non disponible, skip ce modèle
310
+ continue
308
311
 
309
312
  for obj in objects:
310
313
  result = {
@@ -329,7 +329,7 @@
329
329
  <div class="lucy-modal-body">
330
330
  <div class="lucy-info-box">
331
331
  <i class="fa-solid fa-info-circle"></i>
332
- <span>Votre conversation sera envoyee a l'equipe Revolucy pour analyse et amelioration de Lucy.</span>
332
+ <span>Votre conversation sera envoyée à l'équipe Revolucy pour analyse et amélioration de Lucy Assist.</span>
333
333
  </div>
334
334
 
335
335
  <div class="lucy-form-group">