Code Duplication    Length = 59-62 lines in 2 locations

pyfreebilling/pyfreebill/admin.py 2 locations

@@ 675-736 (lines=62) @@
672
    extra = 1
673
674
675
class CustomerRatesAdmin(ImportExportMixin, admin.ModelAdmin):
676
    list_display = ['id',
677
                    'ratecard',
678
                    'destination',
679
                    'prefix',
680
                    'destnum_length',
681
                    'rate',
682
                    'init_block',
683
                    'block_min_duration',
684
                    'minimal_time',
685
                    'get_boolean_display',
686
                    ]
687
    ordering = ['ratecard',
688
                'prefix']
689
    list_filter = ['ratecard',
690
                   'enabled']
691
    search_fields = ['^prefix',
692
                     '^destination']
693
    actions = ['make_enabled', 'make_disabled']
694
    readonly_fields = ['id', ]
695
    form = CustomerRatesAdminForm
696
697
    def get_boolean_display(self, obj):
698
        if obj.enabled:
699
            return mark_safe('<span class="label label-success"><i class="icon-thumbs-up"></i> YES</span>')
700
        return mark_safe('<span class="label label-warning"><i class="icon-thumbs-down"></i> NO</span>')
701
    get_boolean_display.short_description = _(u'Enabled')
702
    get_boolean_display.admin_order_field = _(u'enabled')
703
704
    def has_change_permission(self, request, obj=None):
705
        if request.user.is_superuser:
706
            return True
707
        else:
708
            return False
709
710
    def make_enabled(self, request, queryset):
711
        rows_updated = queryset.update(enabled=True)
712
        if rows_updated == 1:
713
            message_bit = _(u"1 item was")
714
        else:
715
            message_bit = _(u"%s items were") % rows_updated
716
        self.message_user(request,
717
                          _(u"%s successfully marked as enabled.") % message_bit)
718
    make_enabled.short_description = _(u"mark selected items as enabled")
719
720
    def make_disabled(self, request, queryset):
721
        rows_updated = queryset.update(enabled=False)
722
        if rows_updated == 1:
723
            message_bit = _(u"1 item was")
724
        else:
725
            message_bit = _(u"%s items were") % rows_updated
726
        self.message_user(request,
727
                          _(u"%s successfully marked as disabled.") % message_bit)
728
    make_disabled.short_description = _(u"mark selected items as disabled")
729
730
    def get_import_formats(self):
731
        format_csv = DEFAULT_FORMATS
732
        return [f for f in format_csv if f().can_import()]
733
734
    def get_export_formats(self):
735
        format_csv = DEFAULT_FORMATS
736
        return [f for f in format_csv if f().can_export()]
737
738
739
class RateCardAdmin(admin.ModelAdmin):
@@ 564-622 (lines=59) @@
561
            return False
562
563
564
class ProviderRatesAdmin(ImportExportMixin, admin.ModelAdmin):
565
    list_display = ['id',
566
                    'provider_tariff',
567
                    'destination',
568
                    'digits',
569
                    'cost_rate',
570
                    'block_min_duration',
571
                    'init_block',
572
                    'get_boolean_display',
573
                    'date_added',
574
                    'date_modified']
575
    ordering = ['provider_tariff',
576
                'digits']
577
    list_filter = ['provider_tariff',
578
                   'enabled',]
579
    search_fields = ['^digits',
580
                     '^destination']
581
    actions = ['make_enabled',
582
               'make_disabled']
583
    form = ProviderRatesAdminForm
584
585
    def get_boolean_display(self, obj):
586
        if obj.enabled:
587
            return mark_safe('<span class="label label-success"><i class="icon-thumbs-up"></i> YES</span>')
588
        return mark_safe('<span class="label label-warning"><i class="icon-thumbs-down"></i> NO</span>')
589
    get_boolean_display.short_description = _(u'Enabled')
590
    get_boolean_display.admin_order_field = _(u'enabled')
591
592
    def has_change_permission(self, request, obj=None):
593
        if request.user.is_superuser:
594
            return True
595
        else:
596
            return False
597
598
    def make_enabled(self, request, queryset):
599
        rows_updated = queryset.update(enabled=True)
600
        if rows_updated == 1:
601
            message_bit = _(u"1 item was")
602
        else:
603
            message_bit = _(u"%s items were") % rows_updated
604
        self.message_user(request, _(u"%s successfully marked as enabled.") % message_bit)
605
    make_enabled.short_description = _(u"mark selected items as enabled")
606
607
    def make_disabled(self, request, queryset):
608
        rows_updated = queryset.update(enabled=False)
609
        if rows_updated == 1:
610
            message_bit = _(u"1 item was")
611
        else:
612
            message_bit = _(u"%s items were") % rows_updated
613
        self.message_user(request, _(u"%s successfully marked as disabled.") % message_bit)
614
    make_disabled.short_description = _(u"mark selected items as disabled")
615
616
    def get_import_formats(self):
617
        format_csv = DEFAULT_FORMATS
618
        return [f for f in format_csv if f().can_import()]
619
620
    def get_export_formats(self):
621
        format_csv = DEFAULT_FORMATS
622
        return [f for f in format_csv if f().can_export()]
623
624
# LCR
625