示例#1
0
def report_detail(request, slug):
    """Render report detail or list of reports in case of wrong report slug is specified"""
    data = {}
    all_reports = {}
    template = 'reporting/reports.html'
    report = None
    form = Form()
    reports_date_init = True
    try:
        # Retrieving report name by slug specified in an URL
        report = reporting.get_report(slug)(request)
    except reporting.NoReportException:
        pass

    if report is not None:
        form = report.form_class(request.POST or None)
        if request.method == "POST" and form.is_valid():
            if request.POST.get('generate', None):
                data = report.generate(**form.cleaned_data)
                reports_date_init = False
        template = report.template_name
    else:
        # Wrong report slug is specified. rendering all the reports list
        all_reports = [(slug, unicode(r.verbose_name))
                       for slug, r in reporting.all_reports()]
    return direct_to_template(
        request, template, {
            'form': form,
            'data': data,
            'report': report,
            'reports_date_init': reports_date_init,
            'object_list': all_reports,
        })
示例#2
0
def create_permissions(app, created_models, verbosity, **kwargs):
    from django.contrib.contenttypes.models import ContentType

    autodiscover()
    reports = all_reports()

    # This will hold the permissions we're looking for as
    # (content_type, (codename, name))
    searched_perms = list()
    ctype = ContentType.objects.get_for_model(auth_app.User)
    for slug, report in reports:
        for perm in report.permissions:
            searched_perms.append((ctype, perm))

    # Find all the Permissions that have a context_type for a model we're
    # looking for.  We don't need to check for codenames since we already have
    # a list of the ones we're going to create.
    all_perms = set(
        auth_app.Permission.objects.filter(content_type=ctype, ).values_list(
            "content_type", "codename"))

    objs = [
        auth_app.Permission(codename=codename, name=name, content_type=ctype)
        for ctype, (codename, name) in searched_perms
        if (ctype.pk, codename) not in all_perms
    ]
    auth_app.Permission.objects.bulk_create(objs)
    if verbosity >= 2:
        for obj in objs:
            print "Adding permission '%s'" % obj
示例#3
0
def create_permissions(app, created_models, verbosity, **kwargs):
    from django.contrib.contenttypes.models import ContentType

    autodiscover()
    reports = all_reports()

    # This will hold the permissions we're looking for as
    # (content_type, (codename, name))
    searched_perms = list()
    ctype = ContentType.objects.get_for_model(auth_app.User)
    for slug, report in reports:
        for perm in report.permissions:
            searched_perms.append((ctype, perm))

    # Find all the Permissions that have a context_type for a model we're
    # looking for.  We don't need to check for codenames since we already have
    # a list of the ones we're going to create.
    all_perms = set(auth_app.Permission.objects.filter(
        content_type=ctype,
    ).values_list(
        "content_type", "codename"
    ))

    objs = [
        auth_app.Permission(codename=codename, name=name, content_type=ctype)
        for ctype, (codename, name) in searched_perms
        if (ctype.pk, codename) not in all_perms
    ]
    auth_app.Permission.objects.bulk_create(objs)
    if verbosity >= 2:
        for obj in objs:
            print "Adding permission '%s'" % obj
示例#4
0
def report_detail(request, slug):
    """Render report detail or list of reports in case of wrong report slug is specified"""
    data = {}
    all_reports = {}
    template = 'reporting/reports.html'
    report = None
    form = Form()
    reports_date_init = True
    try:
        # Retrieving report name by slug specified in an URL
        report = reporting.get_report(slug)(request)
    except reporting.NoReportException:
        pass

    if report is not None:
        form = report.form_class(request.POST or None)
        if request.method == "POST" and form.is_valid():
            if request.POST.get('generate', None):
                data = report.generate(**form.cleaned_data)
                reports_date_init = False
        template = report.template_name
    else:
        # Wrong report slug is specified. rendering all the reports list
        all_reports = [(slug, unicode(r.verbose_name)) for slug, r in reporting.all_reports()]
    return direct_to_template(request, template, {
        'form': form,
        'data': data,
        'report': report,
        'reports_date_init': reports_date_init,
        'object_list': all_reports,
    })
示例#5
0
文件: views.py 项目: drazvan/crm
def reports(request):
    reports = reporting.all_reports()
    favorites = FavoriteReport.objects.filter(user=request.user)
    username = request.user.username
    
    return render_to_response('reports.html', {'reports': reports, 'favorites' : favorites, 
                                               'username' : username}, 
                              context_instance=RequestContext(request))  
示例#6
0
def reports(request, template_name='reporting/reports.html'):
    """Render a list of available reports"""
    # storing current user position in session
    request.session['enter_url'] = reverse('reports')
    reports_data = [(slug, unicode(r.verbose_name))
                    for slug, r in reporting.all_reports()]
    return direct_to_template(request, template_name, {
        'object_list': reports_data,
    })
示例#7
0
def reports(request, template_name='reporting/reports.html'):
    """Render a list of available reports"""
    # storing current user position in session
    request.session['enter_url'] = reverse('reports')
    reports_data = [
        (slug, unicode(r.verbose_name))
        for slug, r in reporting.all_reports()
    ]
    return direct_to_template(request, template_name, {'object_list': reports_data, })
示例#8
0
文件: views.py 项目: MVReddy/TMS
def reports(request, template_name='reporting/reports.html'):
    """ Render a list of avaiable reports """
    object_list = reporting.all_reports()
    # storing current user position in session
    request.session['enter_url'] = reverse('reports')
    return direct_to_template(request, template_name, {
        # HACK: object list rendered incorrectly in templates somehow
        'object_list': [(slug, unicode(r.verbose_name)) for slug, r in object_list],
        })
示例#9
0
def report_list(request):
    reports = reporting.all_reports()
    ret = []
    for it in reports:
        ret.append({
            'slug': it[0],
            'name': it[1].verbose_name
        })
    return render_to_response('reporting/list.html', {'reports': ret},
                              context_instance=RequestContext(request))
示例#10
0
def reports(request, template_name='reporting/reports.html'):
    """ Render a list of avaiable reports """
    object_list = reporting.all_reports()
    # storing current user position in session
    request.session['enter_url'] = reverse('reports')
    return direct_to_template(
        request,
        template_name,
        {
            # HACK: object list rendered incorrectly in templates somehow
            'object_list': [(slug, unicode(r.verbose_name))
                            for slug, r in object_list],
        })
示例#11
0
    def setUp(self):
        """
        Crating a test environment with logged in
        client and at least one timesheet model
        and one Expense and Job models.
        """
        self.client = Client()
        self.client, self.response = client_login(self.client, callback=reverse('tms_timesheets'))
        self.datetime = datetime.datetime.now
        self.user = new_test_user()
        self.job_model = any_model(Job, is_active=True)
        try:
            self.employee = any_model(Employee, user = self.user)
        except:
            #employee with this user already exists
            self.employee = Employee.objects.get(user=self.user)
        self.timesheet1 = any_model(Timesheet,
                                    employee=self.employee,
                                    is_submitted=False,
                                    is_billed=False,
                                    start_time='2011-08-29 20:57:34.848614',
                                    end_time='2011-08-29 22:57:34.848614',
                                    comment='Django_tests comment for timesheet model1')
        self.expense1 = any_model(Expense,
                                  expense_date='2011-09-10',
                                  claim_date='2011-09-10',
                                  is_receipted=True,
                                  is_submitted=False,
                                  is_billed=False,
                                  is_taxable=True,
                                  comment='Django_tests comment for expense model1')
        self.reports_list = reporting.all_reports()

        self.reporting_post_data = { 'consultant': '',
                      'date_end_datepicker' : '',
                      'date_end_day': '13',
                      'date_end_yearmonth': '2011-9',
                      'date_start_datepicker': '',
                      'date_start_day': '16',
                      'date_start_yearmonth': '2011-8',
                      'generate': 'Generate',
                      }
示例#12
0
def report_list(request):
    reports = [(s, r(request)) for (s,r) in reporting.all_reports()]
    return render_to_response('reporting/list.html', {'reports': reports}, 
                              context_instance=RequestContext(request))
示例#13
0
def report_list(request):
    reports = [(s, r(request)) for (s, r) in reporting.all_reports()]
    return render_to_response('reporting/list.html', {'reports': reports},
                              context_instance=RequestContext(request))
示例#14
0
 def get_reports(self):
     all_reports = reporting.all_reports()
     reports = []
     for slug, klass in all_reports:
         reports.append((slug, klass(self.request),))
     return reports
示例#15
0
def reports(request):
    return {
        'reports': reporting.all_reports(),
    }
示例#16
0
def reports(request):
    return {
        'reports': reporting.all_reports(),
        }
示例#17
0
def report_list(request):
    all_reports = reporting.all_reports()
    reports = []
    for slug, report in all_reports:
        reports.append((slug, report(request),))
    return render_to_response('reporting/list.html', {'reports': reports}, context_instance=RequestContext(request))
示例#18
0
def report_list(request):
    reports = reporting.all_reports(request.user)
    return render_to_response('reporting/list.html', {'reports': reports},
                              context_instance=RequestContext(request))
示例#19
0
def report_list(request):
    reports = reporting.all_reports(request.user)
    return render_to_response('reporting/list.html', {'reports': reports}, 
                              context_instance=RequestContext(request))