예제 #1
0
파일: views.py 프로젝트: 957177498/b
def article_archive(request):
    # 告警
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()

    type = request.GET.get('type')
    author_id = request.GET.get('author_id')

    blog_tags = models_blog.BlogTag.objects.all()

    blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10]

    sql = """
    select a.id,
       date_format(a.created_time,'%%Y-%%m-%%d') created_time,
       date_format(a.created_time,'%%Y') created_year,
       date_format(a.created_time,'%%m') created_month,
       a.title,
       a.body,
       a.pub_time,
       a.type,
       a.subtype,
       a.views,
       a.author_id,
       b.username
  from blog_article a
  left join accounts_bloguser b
    on a.author_id = b. id where if ('%s'='None',1=1,a.type='%s') and if ('%s'='None',1=1,a.author_id='%s') order by a.id desc
""" % (type, type, author_id, author_id)

    blog_articles = tools.mysql_django_query(sql)

    now = tools.now()
    if request.method == 'POST':
        if request.POST.has_key('search'):
            search = request.POST.get('search', None)
            return HttpResponseRedirect('/blog_index?search=%s' % search)
        else:
            logout(request)
            return HttpResponseRedirect('/login/')
    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response(
        'my_blog/article_archive.html', {
            'messageinfo_list': messageinfo_list,
            'msg_num': msg_num,
            'now': now,
            'msg_last_content': msg_last_content,
            'tim_last': tim_last,
            'blog_articles': blog_articles,
            'blog_tags': blog_tags,
            'blog_views': blog_views
        })
예제 #2
0
파일: views.py 프로젝트: 957177498/b
def article_detail(request):
    # 告警
    article_id = request.GET.get('id')
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()
    blog_tags = models_blog.BlogTag.objects.all()
    blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10]

    sql = """
    select a.id,
       date_format(a.created_time,'%%Y-%%m-%%d') created_time,
       a.title,
       a.body,
       a.pub_time,
       a.type,
       a.subtype,
       a.views,
       a.author_id,
       b.username
  from blog_article a
  left join accounts_bloguser b
    on a.author_id = b. id
  where a.id= %s """ % article_id

    article_detail = tools.mysql_django_query(sql)

    sql = "update blog_article a set a.views = a.views+1 where id = %s " % article_id

    tools.mysql_exec(sql, '')

    now = tools.now()
    if request.method == 'POST':
        if request.POST.has_key('search'):
            search = request.POST.get('search', None)
            return HttpResponseRedirect('/blog_index?search=%s' % search)
        else:
            logout(request)
            return HttpResponseRedirect('/login/')

    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response(
        'my_blog/article_detail.html', {
            'messageinfo_list': messageinfo_list,
            'msg_num': msg_num,
            'now': now,
            'msg_last_content': msg_last_content,
            'tim_last': tim_last,
            'article_detail': article_detail,
            'blog_tags': blog_tags,
            'blog_views': blog_views
        })
예제 #3
0
def oracle_grant(request):
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()
    tags = request.GET.get('tags')
    print tags
    username = request.GET.get('username')
    sql = "select host,port,service_name,user,password,user_os,password_os from tab_oracle_servers where tags= '%s' " %tags
    oracle = tools.mysql_query(sql)
    host = oracle[0][0]
    port = oracle[0][1]
    service_name = oracle[0][2]
    user = oracle[0][3]
    password = oracle[0][4]
    password = base64.decodestring(password)
    url = host + ':' + port + '/' + service_name
    # 角色权限
    sql = """
         select grantee,
         granted_role,
         admin_option,
         default_role,
         to_char(sysdate, 'yyyy-mm-dd') get_date
         from dba_role_privs where grantee = '%s'
        """ %username
    user_roles = tools.oracle_django_query(user,password,url,sql)
    # 系统权限
    sql = """
        select grantee,privilege,admin_option,to_char(sysdate,'yyyy-mm-dd') get_date
          from dba_sys_privs where grantee = '%s'
        """ %username
    sys_privs = tools.oracle_django_query(user,password,url,sql)
    # 对象权限
    sql = """
        select owner,grantee,grantor,table_name,privilege
               ,grantable,hierarchy,to_char(sysdate,'yyyy-mm-dd') get_date
          from dba_tab_privs
         where grantee <> 'PUBLIC' and privilege <> 'EXECUTE' and grantee = '%s'
        """ %username
    tab_privs = tools.oracle_django_query(user,password,url,sql)

    now = tools.now()
    if request.method == 'POST':
        logout(request)
        return HttpResponseRedirect('/login/')

    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response('oracle_grant.html',
                              {'messageinfo_list': messageinfo_list, 'msg_num':msg_num,'user_roles': user_roles,'sys_privs':sys_privs,
                               'tab_privs':tab_privs,'username':username,'tags': tags,'now': now,
                               'msg_last_content': msg_last_content, 'tim_last': tim_last})
예제 #4
0
파일: views.py 프로젝트: 957177498/b
def article_add(request):
    # 告警
    article_id = request.GET.get('id')
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()
    blog_tags = models_blog.BlogTag.objects.all()
    blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10]
    author_id = 1

    now = tools.now()
    if request.method == 'POST':
        if request.POST.has_key('commit'):
            title = request.POST.get('title', None)
            body = request.POST.get('body', None)
            type = request.POST.get('type', None)
            subtype = request.POST.get('subtype', None)

            created_time = datetime.datetime.now().strftime(
                "%Y-%m-%d %H:%M:%S")

            models_blog.BlogArticle.objects.create(title=title,
                                                   body=body,
                                                   type=type,
                                                   subtype=subtype,
                                                   author_id=author_id,
                                                   created_time=created_time,
                                                   views=0)
            # models_blog.BlogArticle.objects.filter(id=article_id).update(title=title, body=body, type=type, subtype=subtype,author_id=author_id)

            return HttpResponseRedirect('/blog_index')
        elif request.POST.has_key('search'):
            search = request.POST.get('search', None)
            return HttpResponseRedirect('/blog_index?search=%s' % search)
        else:
            logout(request)
            return HttpResponseRedirect('/login/')

    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response(
        'my_blog/article_add.html', {
            'messageinfo_list': messageinfo_list,
            'msg_num': msg_num,
            'now': now,
            'msg_last_content': msg_last_content,
            'tim_last': tim_last,
            'blog_tags': blog_tags,
            'blog_views': blog_views
        })
예제 #5
0
파일: views.py 프로젝트: poetic-edge/dbmon
def oracle_profile(request):
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()
    tags = request.GET.get('tags')
    profile_name = request.GET.get('profile_name')
    sql = "select host,port,service_name,user,password,user_os,password_os from tab_oracle_servers where tags= '%s' " % tags
    oracle = tools.mysql_query(sql)
    host = oracle[0][0]
    port = oracle[0][1]
    service_name = oracle[0][2]
    user = oracle[0][3]
    password = oracle[0][4]
    password = base64.decodestring(password)
    url = host + ':' + port + '/' + service_name
    sql = """
        select profile,resource_name,resource_type,limit,to_char(sysdate,'yyyy-mm-dd') get_date
          from dba_profiles where  profile = '%s'
        """ % profile_name

    oracle_profiles = tools.oracle_django_query(user, password, url, sql)

    now = tools.now()
    if request.method == 'POST':
        logout(request)
        return HttpResponseRedirect('/login/')

    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response(
        'oracle_profile.html', {
            'messageinfo_list': messageinfo_list,
            'msg_num': msg_num,
            'oracle_profiles': oracle_profiles,
            'profile_name': profile_name,
            'tags': tags,
            'now': now,
            'msg_last_content': msg_last_content,
            'tim_last': tim_last
        })
예제 #6
0
파일: views.py 프로젝트: 957177498/b
def mysql_ctl(request):
    # 告警
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()
    oper_type = request.GET.get('oper_type')
    host = request.GET.get('host')

    if oper_type:
        log_type = 'Mysql启停'
        sql = '''select user,password from tab_linux_servers where host='%s' ''' % host
        mysql = tools.mysql_query(sql)
        user = mysql[0][0]
        password = mysql[0][1]
        password = base64.decodestring(password)
        if oper_type == 'startup':
            # ora_do.oracle_startup(host, user, password)
            return HttpResponseRedirect('/mysql_ctl/')
        elif oper_type == 'shutdown':
            # ora_do.oracle_shutdown(host, user, password)
            return HttpResponseRedirect('/mysql_ctl/')
        else:
            # ora_do.oracle_shutdown(host, user, password)
            # ora_do.oracle_startup(host, user, password)
            return HttpResponseRedirect('/mysql_ctl/')
    else:
        # 数据库操作面板
        mysql_ctl_sql = '''select t1.tags,
             t1.host,
             t1.port,
             (case t2.mon_status
             when 'connected' then 'running' else 'suspend' end) run_status,
             (case t2.mon_status
             when 'connected' then 'success' else 'danger' end) is_run,
               (case t2.mon_status
             when 'connected' then 'red' else 'green' end) run_color,
             (case t2.mon_status
             when 'connected' then 'shutdown' else 'startup' end) oper_type
        from tab_mysql_servers t1
        left join mysql_db t2
          on t1.tags = t2.tags'''

        mysql_ctl_list = tools.mysql_django_query(mysql_ctl_sql)

        paginator_mysql_ctl = Paginator(mysql_ctl_list, 5)
        page_mysql_ctl = request.GET.get('page_mysql_ctl')
        try:
            mysql_ctls = paginator_mysql_ctl.page(page_mysql_ctl)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            mysql_ctls = paginator_mysql_ctl.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            mysql_ctls = paginator_mysql_ctl.page(page_mysql_ctl.num_pages)

        now = tools.now()
        if request.method == 'POST':
            logout(request)
            return HttpResponseRedirect('/login/')

        if messageinfo_list:
            msg_num = len(messageinfo_list)
            msg_last = models_frame.TabAlarmInfo.objects.latest('id')
            msg_last_content = msg_last.alarm_content
            tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
            return render_to_response('mysql_mon/mysql_ctl.html',
                                      {'messageinfo_list': messageinfo_list, 'mysql_ctls': mysql_ctls,
                                       'msg_num': msg_num, 'now': now,
                                       'msg_last_content': msg_last_content, 'tim_last': tim_last})
        else:
            msg_num = 0
            msg_last_content = ''
            tim_last = ''
            return render_to_response('mysql_mon/mysql_ctl.html',
                                      {'messageinfo_list': messageinfo_list, 'mysql_ctls': mysql_ctls, 'now': now,
                                       'msg_last_content': msg_last_content, 'tim_last': tim_last})
예제 #7
0
파일: views.py 프로젝트: 957177498/b
def blog_index(request):
    # 告警
    messageinfo_list = models_frame.TabAlarmInfo.objects.all()

    type = request.GET.get('type')
    subtype = request.GET.get('subtype')
    search = request.GET.get('search')

    author_id = request.GET.get('author_id')
    blog_tags = models_blog.BlogTag.objects.all()
    blog_views = models_blog.BlogArticle.objects.order_by('-views')[:10]

    sql = """
    select a.id,
       date_format(a.created_time,'%%Y-%%m-%%d') created_time,
       a.title,
       a.body,
       a.pub_time,
       a.type,
       a.subtype,
       a.views,
       a.author_id,
       b.username
  from blog_article a
  left join accounts_bloguser b
    on a.author_id = b. id where if ('%s'='None',1=1,a.type='%s') and if ('%s'='None',1=1,a.author_id='%s')
     and if ('%s'='None',1=1,a.subtype='%s') and if ('%s'='None',1=1,a.title like '%%%s%%' )  order by a.id desc
""" % (type, type, author_id, author_id, subtype, subtype, search, search)

    blog_article_list = tools.mysql_django_query(sql)

    if blog_article_list:
        paginator = Paginator(blog_article_list, 10)

        page = request.GET.get('page')
        try:
            blog_articles = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            blog_articles = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            blog_articles = paginator.page(paginator.num_pages)
    else:
        blog_articles = {}

    now = tools.now()
    if request.method == 'POST':
        if request.POST.has_key('search'):
            search = request.POST.get('search', None)
            return HttpResponseRedirect('/blog_index?search=%s' % search)
        else:
            logout(request)
            return HttpResponseRedirect('/login/')

    if messageinfo_list:
        msg_num = len(messageinfo_list)
        msg_last = models_frame.TabAlarmInfo.objects.latest('id')
        msg_last_content = msg_last.alarm_content
        tim_last = (datetime.datetime.now() - msg_last.alarm_time).seconds / 60
    else:
        msg_num = 0
        msg_last_content = ''
        tim_last = ''
    return render_to_response(
        'my_blog/blog_index.html', {
            'messageinfo_list': messageinfo_list,
            'msg_num': msg_num,
            'now': now,
            'msg_last_content': msg_last_content,
            'tim_last': tim_last,
            'blog_articles': blog_articles,
            'blog_tags': blog_tags,
            'blog_views': blog_views,
            'type': type,
            'subtype': subtype,
            'search': search
        })