| @@ 161-194 (lines=34) @@ | ||
| 158 | return global_stats_view(request, vue='dest_provider') |
|
| 159 | ||
| 160 | ||
| 161 | @staff_member_required |
|
| 162 | def FsDirectoryUpdateView(request): |
|
| 163 | messages.info(request, """Reloading FS""") |
|
| 164 | try: |
|
| 165 | t = loader.get_template('xml/directory.conf.xml') |
|
| 166 | except IOError: |
|
| 167 | messages.error(request, """customer sip config xml file update failed. |
|
| 168 | Can not load template file !""") |
|
| 169 | customerdirectorys = CustomerDirectory.objects.filter( |
|
| 170 | company__customer_enabled__exact=True, enabled=True) |
|
| 171 | accounts = Company.objects.filter(customer_enabled=True) |
|
| 172 | c = Context({"customerdirectorys": customerdirectorys, |
|
| 173 | "accounts": accounts}) |
|
| 174 | try: |
|
| 175 | f = open('/usr/local/freeswitch/conf/directory/default.xml', 'w') |
|
| 176 | try: |
|
| 177 | f.write(t.render(c)) |
|
| 178 | f.close() |
|
| 179 | try: |
|
| 180 | fs = esl.getReloadACL() |
|
| 181 | messages.success(request, "FS successfully reload") |
|
| 182 | except IOError: |
|
| 183 | messages.error(request, """customer sip config xml file update |
|
| 184 | failed. FS ACL update failed ! Try manually - %s""" % fs) |
|
| 185 | finally: |
|
| 186 | # f.close() |
|
| 187 | messages.success(request, """customer sip config xml file update |
|
| 188 | success""") |
|
| 189 | except IOError: |
|
| 190 | messages.error(request, """customer sip config xml file update failed. |
|
| 191 | Can not create file !""") |
|
| 192 | pfb_version = __version__ |
|
| 193 | return render_to_response('admin/admin_status.html', locals(), |
|
| 194 | context_instance=RequestContext(request)) |
|
| 195 | ||
| 196 | ||
| 197 | def FsSofiaUpdateView(request): |
|
| @@ 197-228 (lines=32) @@ | ||
| 194 | context_instance=RequestContext(request)) |
|
| 195 | ||
| 196 | ||
| 197 | def FsSofiaUpdateView(request): |
|
| 198 | """ generate new sofia xml config file """ |
|
| 199 | try: |
|
| 200 | t = loader.get_template('xml/sofia.conf.xml') |
|
| 201 | except IOError: |
|
| 202 | messages.error(request, |
|
| 203 | """sofia config xml file update failed. Can not load |
|
| 204 | template file !""") |
|
| 205 | sipprofiles = SipProfile.objects.all() |
|
| 206 | accounts = Company.objects.filter(supplier_enabled=True) |
|
| 207 | c = Context({"sipprofiles": sipprofiles, "accounts": accounts}) |
|
| 208 | try: |
|
| 209 | f = open('/usr/local/freeswitch/conf/autoload_configs/sofia.conf.xml', |
|
| 210 | 'w') |
|
| 211 | try: |
|
| 212 | f.write(t.render(c)) |
|
| 213 | f.close() |
|
| 214 | try: |
|
| 215 | fs = esl.getReloadGateway(request) |
|
| 216 | messages.success(request, "FS successfully reload") |
|
| 217 | except IOError: |
|
| 218 | messages.error(request, """customer sip config xml file update |
|
| 219 | failed. FS ACL update failed ! Try manually -- %s""" % fs) |
|
| 220 | finally: |
|
| 221 | # f.close() |
|
| 222 | messages.success(request, "sofia config xml file update success") |
|
| 223 | except IOError: |
|
| 224 | messages.error(request, """sofia config xml file update failed. Can |
|
| 225 | not create file !""") |
|
| 226 | pfb_version = __version__ |
|
| 227 | return render_to_response('admin/admin_status.html', locals(), |
|
| 228 | context_instance=RequestContext(request)) |
|
| 229 | ||
| 230 | ||
| 231 | def time_series(queryset, date_field, interval, func=None): |
|
| @@ 85-113 (lines=29) @@ | ||
| 82 | sofiaupdate.short_description = _(u"update sofia config xml file") |
|
| 83 | ||
| 84 | ||
| 85 | def directoryupdate(modeladmin, request, queryset): |
|
| 86 | """ generate new directory xml config file """ |
|
| 87 | try: |
|
| 88 | t = loader.get_template('xml/directory.conf.xml') |
|
| 89 | except IOError: |
|
| 90 | messages.error(request, """customer sip config xml file update failed. |
|
| 91 | Can not load template file !""") |
|
| 92 | customerdirectorys = CustomerDirectory.objects.filter(company__customer_enabled__exact=True, enabled=True) |
|
| 93 | accounts = Company.objects.filter(customer_enabled=True) |
|
| 94 | c = Context({"customerdirectorys": customerdirectorys, |
|
| 95 | "accounts": accounts}) |
|
| 96 | try: |
|
| 97 | f = open('/usr/local/freeswitch/conf/directory/default.xml', 'w') |
|
| 98 | try: |
|
| 99 | f.write(t.render(c)) |
|
| 100 | f.close() |
|
| 101 | try: |
|
| 102 | fs = esl.getReloadACL() |
|
| 103 | messages.success(request, "FS successfully reload") |
|
| 104 | except IOError: |
|
| 105 | messages.error(request, """customer sip config xml file update |
|
| 106 | failed. FS ACL update failed ! Try manually - %s""" % fs) |
|
| 107 | finally: |
|
| 108 | #f.close() |
|
| 109 | messages.success(request, """customer sip config xml file update |
|
| 110 | success""") |
|
| 111 | except IOError: |
|
| 112 | messages.error(request, """customer sip config xml file update failed. |
|
| 113 | Can not create file !""") |
|
| 114 | directoryupdate.short_description = _(u"update customer sip config xml file") |
|
| 115 | ||
| 116 | ||
| @@ 53-81 (lines=29) @@ | ||
| 50 | DEFAULT_FORMATS = (base_formats.CSV, ) |
|
| 51 | ||
| 52 | ||
| 53 | def sofiaupdate(modeladmin, request, queryset): |
|
| 54 | """ generate new sofia xml config file """ |
|
| 55 | try: |
|
| 56 | t = loader.get_template('xml/sofia.conf.xml') |
|
| 57 | except IOError: |
|
| 58 | messages.error(request, |
|
| 59 | """sofia config xml file update failed. Can not load |
|
| 60 | template file !""") |
|
| 61 | sipprofiles = SipProfile.objects.all() |
|
| 62 | accounts = Company.objects.filter(supplier_enabled=True) |
|
| 63 | c = Context({"sipprofiles": sipprofiles, "accounts": accounts}) |
|
| 64 | try: |
|
| 65 | f = open('/usr/local/freeswitch/conf/autoload_configs/sofia.conf.xml', |
|
| 66 | 'w') |
|
| 67 | try: |
|
| 68 | f.write(t.render(c)) |
|
| 69 | f.close() |
|
| 70 | try: |
|
| 71 | fs = esl.getReloadGateway() |
|
| 72 | messages.success(request, "FS successfully reload") |
|
| 73 | except IOError: |
|
| 74 | messages.error(request, """customer sip config xml file update |
|
| 75 | failed. FS ACL update failed ! Try manually -- %s""" % fs) |
|
| 76 | finally: |
|
| 77 | #f.close() |
|
| 78 | messages.success(request, "sofia config xml file update success") |
|
| 79 | except IOError: |
|
| 80 | messages.error(request, """sofia config xml file update failed. Can |
|
| 81 | not create file !""") |
|
| 82 | sofiaupdate.short_description = _(u"update sofia config xml file") |
|
| 83 | ||
| 84 | ||
| @@ 117-143 (lines=27) @@ | ||
| 114 | directoryupdate.short_description = _(u"update customer sip config xml file") |
|
| 115 | ||
| 116 | ||
| 117 | def aclupdate(modeladmin, request, queryset): |
|
| 118 | """ generate new ACL xml config file """ |
|
| 119 | try: |
|
| 120 | t = loader.get_template('xml/acl.conf.xml') |
|
| 121 | except IOError: |
|
| 122 | messages.error(request, """ACL config xml file update failed. Can |
|
| 123 | not load template file !""") |
|
| 124 | acllists = AclLists.objects.all() |
|
| 125 | aclnodes = AclNodes.objects.all() |
|
| 126 | c = Context({"acllists": acllists, "aclnodes": aclnodes}) |
|
| 127 | try: |
|
| 128 | f = open('/usr/local/freeswitch/conf/autoload_configs/acl.conf.xml', |
|
| 129 | 'w') |
|
| 130 | try: |
|
| 131 | f.write(t.render(c)) |
|
| 132 | f.close() |
|
| 133 | try: |
|
| 134 | fs = esl.getReloadACL() |
|
| 135 | messages.success(request, "FS successfully reload") |
|
| 136 | except IOError: |
|
| 137 | messages.error(request, """ACL config xml file update failed. |
|
| 138 | FS ACL update failed ! Try manually--- %s""" % fs) |
|
| 139 | finally: |
|
| 140 | messages.success(request, "ACL config xml file update success") |
|
| 141 | except IOError: |
|
| 142 | messages.error(request, """ACL xml file update failed. Can not |
|
| 143 | create file !""") |
|
| 144 | aclupdate.short_description = _(u"update ACL config xml file") |
|
| 145 | ||
| 146 | admin.site.add_action(directoryupdate, _(u"""generate customer sip |
|