示例#1
0
def send_email(request, id=1):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/?login')

    site = SiteInstanceResource()._get(site_id=id)
    INBOX_MESSAGE_INV_NOTIFICATION_BODY_TMPL = 'email_templates/url_mail_error.html'
    try:
        urllib2.urlopen(site.url)
    except urllib2.URLError, error:
        site_url = site.url
        subject = "Please Check this Url Is Down This Time"
        body = 'Error:', error
        inbox_body = render_to_string(
            INBOX_MESSAGE_INV_NOTIFICATION_BODY_TMPL, {
                'site_user': request.user.email,
                'Subject': subject,
                'error': error,
                'url': site.url
            })
        emailmsg = EmailMultiAlternatives(subject, inbox_body,
                                          '*****@*****.**',
                                          [request.user.email])
        emailmsg.attach_alternative(inbox_body, "text/html")
        emailmsg.send()
        site.mailsent += 1
        site.save()
        site_log = SiteLog()
        site_log.site = site
        site_log.month = str(datetime.datetime.now().strftime('%B'))
        site_log.save()
        return HttpResponse()
示例#2
0
 def get(self, request):
     if not request.user.is_authenticated():
         return HttpResponseRedirect('/?login')
     name = request.GET.get('name', '')
     if name:
         site_user = SiteInstanceResource()._get(sitename=name)
     else:
         site_user = SiteInstanceResource()._get(user=request.user)
     new_site_user = []
     for key in reversed(site_user):
         new_site_user.append(key)
     page_num = request.GET.get('page', '1')
     paginator = Paginator([], 6)
     paginator.object_list = new_site_user
     try:
         pageno = paginator.page(page_num)
     except:
         pageno = ''
     if request.is_ajax():
         self.template_name = 'index_ajax.html'
         context = {'site_user': site_user, 'pageno': pageno}
         return self.render_to_response(context)
     site_count = SiteInstanceResource()._get(user=request.user).count()
     testsuc_list = []
     testfail_list = []
     mailsent_list = []
     for items in site_user:
         testsuc_list.append(items.testsuc)
         testfail_list.append(items.testfail)
         mailsent_list.append(items.mailsent)
     context = {
         'pageno': pageno,
         'site_user': site_user,
         'site_count': site_count,
         'testsuc': sum(testsuc_list),
         'testfail': sum(testfail_list),
         'mailsent': sum(mailsent_list),
         'request_path': request.path
     }
     return self.render_to_response(context)
示例#3
0
def site_detail(request, id):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/?login')
    site = SiteInstanceResource()._get(site_id=id)
    total_tests = int(site.testsuc) + int(site.testfail)
    data = {
        'testsuc': site.testsuc,
        'testfail': site.testfail,
        'sitename': site.sitename,
        'mailsent': site.mailsent,
        'datetime': site.date,
        'total_tests': total_tests
    }
    return render(request, 'last_details.html', {'data': data})
示例#4
0
    def post(self, request):
        data = request.POST.copy()
        form = self.form_class(data)
        if form.is_valid():
            try:
                site_id = request.GET['site_id']
            except:
                site_id = None
            SiteInstanceResource().create_edit_site(form,
                                                    site_id,
                                                    user=request.user)
            return HttpResponseRedirect('/dashboard')

        else:
            return self.render_to_response({
                'form': form,
                'request_path': request.path,
            })
示例#5
0
def run_test(request, id=1):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/?login')

    site = SiteInstanceResource()._get(site_id=id)
    try:
        urllib2.urlopen(site.url)
        site.date = timezone.now()
        site.testsuc += 1
        site.save()
        site_log = SiteLog()
        site_log.site = site
        site_log.month = str(datetime.datetime.now().strftime('%B'))
        site_log.save()
        return render(request, 'run_test.html', {'site': site})
    except urllib2.HTTPError, error:
        site.date = timezone.now()
        site.testfail += 1
        site.save()
        site_log = SiteLog()
        site_log.site = site
        site_log.month = str(datetime.datetime.now().strftime('%B'))
        site_log.save()
        return render(request, 'run_test.html', {'error': error, 'site': site})
示例#6
0
 def get(self, request):
     template_values = {}
     if not request.user.is_authenticated():
         return HttpResponseRedirect('/?login')
     if request.GET.has_key("delete_site_id"):
         delete_site_id = request.GET['delete_site_id']
         site = SiteInstanceResource()._get(site_id=delete_site_id)
         site.delete()
         return HttpResponseRedirect('/dashboard')
     if request.GET.has_key("auto_test_mode"):
         site_id = request.GET['site_id']
         auto_test_mode = request.GET['auto_test_mode']
         site = SiteInstanceResource()._get(site_id=site_id)
         site.auto_test_mode = int(auto_test_mode)
         site.save()
         return HttpResponse('ok')
     if request.GET.has_key("site_id"):
         params = {'edit': True}
         site_id = request.GET["site_id"]
         site = SiteInstanceResource()._get(site_id=site_id)
         data = {
             'sitename': site.sitename,
             'url': site.url,
         }
         if site.auto_test_mode == True:
             data['auto_test_mode'] = 1
         else:
             data['auto_test_mode'] = 0
         template_values['form'] = self.form_class(data)
         template_values['params'] = params
         return self.render_to_response(template_values)
     else:
         template_values['form'] = self.form_class()
         template_values['request_path'] = request.path
         return self.render_to_response(template_values)