|
@@ -6,15 +6,9 @@ from coin.offers.models import Offer, OfferSubscription
|
|
|
from coin.offers.offersubscription_filter import\
|
|
|
OfferSubscriptionTerminationFilter,\
|
|
|
OfferSubscriptionCommitmentFilter
|
|
|
-from coin.resources.models import IPSubnet
|
|
|
import autocomplete_light
|
|
|
|
|
|
|
|
|
-class IPSubnetInline(admin.TabularInline):
|
|
|
- model = IPSubnet
|
|
|
- extra = 0
|
|
|
-
|
|
|
-
|
|
|
class OfferAdmin(admin.ModelAdmin):
|
|
|
list_display = ('configuration_type', 'name', 'billing_period', 'period_fees',
|
|
|
'initial_fees')
|
|
@@ -47,20 +41,16 @@ class OfferSubscriptionAdmin(admin.ModelAdmin):
|
|
|
)
|
|
|
form = autocomplete_light.modelform_factory(OfferSubscription)
|
|
|
|
|
|
- inlines = [ IPSubnetInline ]
|
|
|
-
|
|
|
def get_inline_instances(self, request, obj=None):
|
|
|
"""
|
|
|
Si en edition, alors affiche en inline le formulaire de la configuration
|
|
|
correspondant à l'offre choisie
|
|
|
"""
|
|
|
- ipsubnet_inline = [IPSubnetInline(self.model, self.admin_site)]
|
|
|
-
|
|
|
if obj is not None:
|
|
|
for item in PolymorphicChildModelAdmin.__subclasses__():
|
|
|
if (item.base_model.__name__ == obj.offer.configuration_type):
|
|
|
- return [item.inline(self.model, self.admin_site)] + ipsubnet_inline
|
|
|
- return ipsubnet_inline
|
|
|
+ return [item.inline(self.model, self.admin_site)]
|
|
|
+ return []
|
|
|
|
|
|
admin.site.register(Offer, OfferAdmin)
|
|
|
admin.site.register(OfferSubscription, OfferSubscriptionAdmin)
|