|
@@ -1,4 +1,4 @@
|
|
-from django.contrib import admin
|
|
|
|
|
|
+from django.contrib import admin, messages
|
|
from django.core.urlresolvers import reverse
|
|
from django.core.urlresolvers import reverse
|
|
from django.utils.encoding import force_text
|
|
from django.utils.encoding import force_text
|
|
from django.utils.safestring import mark_safe
|
|
from django.utils.safestring import mark_safe
|
|
@@ -41,8 +41,8 @@ class AbstractUseInline(admin.TabularInline):
|
|
if db_field.name == "resource" and getattr(request, 'document', None):
|
|
if db_field.name == "resource" and getattr(request, 'document', None):
|
|
kwargs["queryset"] = db_field.related_model.objects.filter(
|
|
kwargs["queryset"] = db_field.related_model.objects.filter(
|
|
document=request.document)
|
|
document=request.document)
|
|
- return super().formfield_for_foreignkey(
|
|
|
|
- db_field, request, **kwargs)
|
|
|
|
|
|
+ return super().formfield_for_foreignkey(
|
|
|
|
+ db_field, request, **kwargs)
|
|
|
|
|
|
|
|
|
|
class GoodUseInline(AbstractUseInline):
|
|
class GoodUseInline(AbstractUseInline):
|
|
@@ -101,8 +101,27 @@ class ServiceAdmin(admin.ModelAdmin):
|
|
if obj:
|
|
if obj:
|
|
# anotate the request with some context
|
|
# anotate the request with some context
|
|
request.document = obj.document
|
|
request.document = obj.document
|
|
|
|
+ else:
|
|
|
|
+ doc_pk = request.GET.get('document')
|
|
|
|
+ if doc_pk:
|
|
|
|
+ request.document = Document.objects.get(pk=doc_pk)
|
|
|
|
+ else:
|
|
|
|
+ request.document = None
|
|
|
|
+ if request.method == 'GET':
|
|
|
|
+ self.message_user(
|
|
|
|
+ request,
|
|
|
|
+ 'Il est nécessaire de faire "Enregistrer et continuer"'
|
|
|
|
+ ' pour ajouter des ressources au service',
|
|
|
|
+ messages.WARNING)
|
|
|
|
+
|
|
return super().get_form(request, obj, **kwargs)
|
|
return super().get_form(request, obj, **kwargs)
|
|
|
|
|
|
|
|
+ def get_inline_instances(self, request, obj=None):
|
|
|
|
+ if getattr(request, 'document', None):
|
|
|
|
+ return super().get_inline_instances(request, obj)
|
|
|
|
+ else:
|
|
|
|
+ return []
|
|
|
|
+
|
|
def monthly_unit_cost(self, obj):
|
|
def monthly_unit_cost(self, obj):
|
|
return '{:.2f}€'.format(obj.get_prices()['unit_recurring_price'])
|
|
return '{:.2f}€'.format(obj.get_prices()['unit_recurring_price'])
|
|
|
|
|