Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
# Copyright (c) 2014 TrilioData, Inc.
# All Rights Reserved.

"""
Views for managing WorkloadMgr Workloads.
"""
import logging
import six
import json
from datetime import datetime
from datetime import timedelta

try:
    from django.core.urlresolvers import reverse
except ImportError:
    from django.urls import reverse
try:
    from django.core.urlresolvers import reverse_lazy
except ImportError:
    from django.urls import reverse_lazy

from django.utils.translation import ugettext_lazy as _
from django.views.generic import View
from django.views.generic import TemplateView
from django.http import HttpResponseRedirect
from django.http import HttpResponse

from horizon import exceptions
from horizon import forms
from horizon import tables
from horizon import workflows
from horizon import messages

from openstack_dashboard import api
from dashboards import workloadmgr
from openstack_dashboard import settings

from .workflows import ChangeSettings
from .workflows import SetJobScheduler

LOG = logging.getLogger(__name__)

class IndexView(TemplateView):
    template_name = 'admin/workloads_admin/index.html'

class SettingsView(workflows.WorkflowView):
    workflow_class = ChangeSettings
    template_name = 'admin/workloads_admin/settings.html'

    def get_initial(self):
        pass

class JobschedulerView(workflows.WorkflowView):
    workflow_class = SetJobScheduler
    template_name = 'admin/workloads_admin/jobscheduler.html'

    def get_initial(self):
        pass

class TestEmailView(View):

    def get(self, request, *args, **kwargs):
        url_prefix = '/'
        try:
            url_prefix = settings.WEBROOT
        except Exception as ex:
            LOG.exception(ex)
        try:
            req = request.GET
            params = {
                "smtp_server_name": req.get('smtp_server_name', None),
                "smtp_server_username": req.get('smtp_server_username', None),
                "smtp_server_password": req.get('smtp_server_password', None),
                "smtp_port": req.get('smtp_port', None),
                "smtp_timeout": req.get('smtp_timeout', None),
                "smtp_default_sender": req.get('smtp_default_sender', None)
            }
            workloadmgr.test_email(request, **params)
            context = {'status': '200', 'reason': 'Email configuration successful'}
            return HttpResponse(json.dumps(context), content_type='application/json')
        except Exception as ex:
            context = {'status': '500', 'reason': str(ex)}
            return HttpResponse(json.dumps(context), content_type='application/json')

    def get_initial(self):
        pass

class NfsView(TemplateView):
      template_name = 'admin/workloads_admin/storage/nfs_workloads.html'

      def workloads_data( self ):
          try:
              workloads = workloadmgr.dashboard_nfs_workloads_data( self.request )
          except:
                 workloads = [ ]
                 msg = _( 'Workloads data can not be retrieved.' )
                 exceptions.handle( self.request, msg )
          return workloads