示例#1
0
    def form_valid(self, form):
        client = models.Clients.objects.get(id=self.kwargs.get('pk'))
        try:
            for device in client.select_clients_group.select_server.all():
                action_mikrotik = ActionMikroTik(device)
                action_mikrotik.delete_user(client.login, client.ip_address)
        except:
            form._errors.setdefault("captcha", 'Устройство не доступно')
            return self.form_invalid(form)

        client.deleted_user = True
        client.save()
        return super(ClientDelete, self).form_valid(form)
示例#2
0
def deferred_actions_with_customers():
    ('off', 'Отключить'),
    ('on', 'Включить'),
    ('del', 'Удалить'),
    ('create', 'Создать'),
    ('del', 'Удалить'),
    for action in models.DeferredActionsWithClient.objects.filter(
            status=False, scheduled_implementation_date__isnull=True):
        print(action.id, action.scheduled_implementation_date)

        for device in action.client.select_clients_group.select_server.all():

            if action.action == 'create':
                try:
                    action_mikrotik = ActionMikroTik(device)
                    action_mikrotik.create_user(action.client.login,
                                                action.client.key,
                                                action.client.ip_address,
                                                action.client.select_tarif)
                    action.status = True
                    action.save()

                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'work'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()

                except:
                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions', deferred_actions_text_messages(action.action, action.client.login, 'error'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()

            if action.action == 'on':
                try:
                    action_mikrotik = ActionMikroTik(device)
                    action_mikrotik.on_client(action.client.ip_address)
                    action.status = True
                    action.save()

                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'work'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()
                except:
                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'error'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()

            if action.action == 'off':
                try:
                    action_mikrotik = ActionMikroTik(device)
                    action_mikrotik.off_client(action.client.ip_address)
                    action.status = True
                    action.save()

                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'worm'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()
                except:
                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'error'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()

            if action.action == 'del':
                try:
                    action_mikrotik = ActionMikroTik(device)
                    action_mikrotik.delete_user(action.client.login,
                                                action.client.ip_address)
                    action.status = True
                    action.save()

                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]
                    #msg = EmailMessage('deferred_actions',
                    #                   deferred_actions_text_messages(action.action, action.client.login, 'work'),
                    #                   settings.DEFAULT_FROM_EMAIL, emails)
                    #msg.content_subtype = "html"
                    #msg.send()
                except:
                    emails = [
                        admin.admin.user.email
                        for admin in models.SendEmailAdmin.objects.filter(
                            event='deferred_actions')
                    ]