| Conditions | 2 |
| Total Lines | 130 |
| Lines | 0 |
| Ratio | 0 % |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | # Copyright 2013 Mathias WOLFF |
||
| 40 | def init_with_context(self, context): |
||
| 41 | user = context['request'].user |
||
| 42 | if user.is_superuser: |
||
| 43 | self.children += [ |
||
| 44 | items.MenuItem(_('Dashboard'), reverse('admin:index')), |
||
| 45 | items.Bookmarks(), |
||
| 46 | items.MenuItem(_('Companies'), |
||
| 47 | children=[ |
||
| 48 | items.MenuItem(_('Companies'), '/extranet/pyfreebill/company/', |
||
| 49 | children=[ |
||
| 50 | items.MenuItem(_('List'), '/extranet/pyfreebill/company/', |
||
| 51 | children=[ |
||
| 52 | items.MenuItem(_('All'), '/extranet/pyfreebill/company/'), |
||
| 53 | items.MenuItem(_('Customers'), '/extranet/pyfreebill/company/?customer_enabled__exact=1', |
||
| 54 | children=[ |
||
| 55 | items.MenuItem(_('All'), '/extranet/pyfreebill/company/?customer_enabled__exact=1'), |
||
| 56 | items.MenuItem(_('Prepaid Account'), '/extranet/pyfreebill/company/?customer_enabled__exact=1&prepaid__exact=1'), |
||
| 57 | items.MenuItem(_('Postpaid account'), '/extranet/pyfreebill/company/?customer_enabled__exact=1&prepaid__exact=0'), |
||
| 58 | ] |
||
| 59 | ), |
||
| 60 | items.MenuItem(_('Providers'), '/extranet/pyfreebill/company/?supplier_enabled__exact=1'), |
||
| 61 | items.MenuItem(_('Add new company'), '/extranet/pyfreebill/company/add/'), |
||
| 62 | ] |
||
| 63 | ), |
||
| 64 | items.MenuItem(_('Balance history'), '/extranet/pyfreebill/companybalancehistory/'), |
||
| 65 | items.MenuItem(_('Add payment'), '/extranet/pyfreebill/companybalancehistory/add/'), |
||
| 66 | items.MenuItem(_('customer management'), |
||
| 67 | children=[ |
||
| 68 | items.MenuItem(_('Customer SIP accounts'), '/extranet/pyfreebill/customerdirectory/'), |
||
| 69 | items.MenuItem(_('Destination number normalization rules'), '/extranet/pyfreebill/customernormalizationrules/'), |
||
| 70 | items.MenuItem(_('CallerID Normalization Rules'), '/extranet/pyfreebill/customercidnormalizationrules/'), |
||
| 71 | ] |
||
| 72 | ), |
||
| 73 | items.MenuItem(_('provider management'), |
||
| 74 | children=[ |
||
| 75 | items.MenuItem(_('Provider gateways'), '/extranet/pyfreebill/sofiagateway/'), |
||
| 76 | items.MenuItem(_('CallerID Normalization Rules'), '/extranet/pyfreebill/carriercidnormalizationrules/'), |
||
| 77 | ] |
||
| 78 | ), |
||
| 79 | ] |
||
| 80 | ), |
||
| 81 | items.MenuItem(_('Contacts'), '/extranet/pyfreebill/person/', |
||
| 82 | children=[ |
||
| 83 | items.MenuItem(_('List'), '/extranet/pyfreebill/person/'), |
||
| 84 | items.MenuItem(_('Add'), '/extranet/pyfreebill/person/add/'), |
||
| 85 | ] |
||
| 86 | ), |
||
| 87 | items.MenuItem(_('Groups'), '/extranet/pyfreebill/group/', |
||
| 88 | children=[ |
||
| 89 | items.MenuItem(_('List'), '/extranet/pyfreebill/group/'), |
||
| 90 | items.MenuItem(_('Add'), '/extranet/pyfreebill/group/add/'), |
||
| 91 | ] |
||
| 92 | ), |
||
| 93 | ] |
||
| 94 | ), |
||
| 95 | items.MenuItem(_('Rates'), |
||
| 96 | children=[ |
||
| 97 | items.MenuItem(_('Sell rates'), |
||
| 98 | children=[ |
||
| 99 | items.MenuItem(_('Ratecards'), '/extranet/pyfreebill/ratecard/'), |
||
| 100 | items.MenuItem(_('Customer ratecards'), '/extranet/pyfreebill/customerratecards/'), |
||
| 101 | items.MenuItem(_('Rates'), '/extranet/pyfreebill/customerrates/'), |
||
| 102 | ] |
||
| 103 | ), |
||
| 104 | items.MenuItem(_('LCRs'), '/extranet/pyfreebill/lcrgroup/'), |
||
| 105 | items.MenuItem(_('Provider rates'), |
||
| 106 | children=[ |
||
| 107 | items.MenuItem(_('Provider tariffs'), '/extranet/pyfreebill/providertariff/'), |
||
| 108 | items.MenuItem(_('Provider rates'), '/extranet/pyfreebill/providerrates/'), |
||
| 109 | ] |
||
| 110 | ), |
||
| 111 | ] |
||
| 112 | ), |
||
| 113 | items.MenuItem(_('Reports'), |
||
| 114 | children=[ |
||
| 115 | items.MenuItem(_('CDRs'), '/extranet/pyfreebill/cdr/', |
||
| 116 | children=[ |
||
| 117 | items.MenuItem(_('CDRs view'), '/extranet/pyfreebill/cdr/'), |
||
| 118 | items.MenuItem(_('Successfull CDRs'), '/extranet/pyfreebill/cdr/?effective_duration__gt=0'), |
||
| 119 | items.MenuItem(_('Failed CDRs'), '/extranet/pyfreebill/cdr/?effective_duration__exact=0'), |
||
| 120 | items.MenuItem(_('Hangup Cause'), '/extranet/pyfreebill/hangupcause/'), |
||
| 121 | ] |
||
| 122 | ), |
||
| 123 | items.MenuItem(_('Reports'), '/extranet/report/'), |
||
| 124 | ] |
||
| 125 | ), |
||
| 126 | items.MenuItem(_('Admin'), |
||
| 127 | children=[ |
||
| 128 | items.MenuItem(_('Users'), '/extranet/auth/', |
||
| 129 | children=[ |
||
| 130 | items.MenuItem(_('Groups'), '/extranet/auth/group/'), |
||
| 131 | items.MenuItem(_('Users'), '/extranet/auth/user/'), |
||
| 132 | items.MenuItem(_('Rates'), '/extranet/pyfreebill/customerrates/'), |
||
| 133 | ] |
||
| 134 | ), |
||
| 135 | items.MenuItem(_('VoIP switches'), |
||
| 136 | children=[ |
||
| 137 | items.MenuItem(_('VoIP switches'), '/extranet/pyfreebill/voipswitch/'), |
||
| 138 | items.MenuItem(_('SIP profiles'), '/extranet/pyfreebill/sipprofile/'), |
||
| 139 | items.MenuItem(_('Destination Number Normalization Rules'), '/extranet/pyfreebill/destinationnumberrules/'), |
||
| 140 | items.MenuItem(_('ACL'), '/extranet/pyfreebill/acllists/'), |
||
| 141 | ] |
||
| 142 | ), |
||
| 143 | items.MenuItem(_('Logs'), |
||
| 144 | children=[ |
||
| 145 | items.MenuItem(_('Access logs'), '/extranet/axes/accesslog/'), |
||
| 146 | items.MenuItem(_('Access attemps'), '/extranet/axes/accessattempt/'), |
||
| 147 | items.MenuItem(_('Honeypot access attemps'), '/extranet/admin_honeypot/loginattempt/'), |
||
| 148 | items.MenuItem(_('Recurring tasks logs'), '/extranet/chroniker/log/'), |
||
| 149 | ] |
||
| 150 | ), |
||
| 151 | items.MenuItem(_('Databases'), |
||
| 152 | children=[ |
||
| 153 | items.MenuItem(_('Database size'), '/extranet/database_size/table/'), |
||
| 154 | ] |
||
| 155 | ), |
||
| 156 | items.MenuItem(_('Status'), '/extranet/status/'), |
||
| 157 | ] |
||
| 158 | ), |
||
| 159 | ] |
||
| 160 | else: |
||
| 161 | self.children += [ |
||
| 162 | items.MenuItem(_('Dashboard'), reverse('admin:index')), |
||
| 163 | items.MenuItem(_('My Account'), '/extranet/pyfreebill/company/'), |
||
| 164 | items.MenuItem(_('My CDR'), '/extranet/pyfreebill/cdr/'), |
||
| 165 | ] |
||
| 166 | # self.children += [ |
||
| 167 | # ReturnToSiteItem() |
||
| 168 | # ] |
||
| 169 | return super(CustomMenu, self).init_with_context(context) |
||
| 170 |