Example #1
0
def download_documentversion(request, id):
    documentversion = get_object_or_404(DocumentVersion, id=id)
    if not default_storage.exists(default_storage.generate_filename(documentversion.uploaded_file.name)):
        raise Http404()

    return HttpResponseRedirect(documentversion.uploaded_file.url)
Example #2
0
def detail(request, question_id):
    try:
        question = Question.objects.get(pk=question_id)
    except Question.DoesNotExist:
        raise Http404("Question does not exist")
    return render(request, 'polls/detail.html', {'question': question})
Example #3
0
 def check_object_type(self):
     """Some views only apply to blobs, other to trees."""
     logger.debug("check_object_type object=%s type=%s", self.object.hex,
                  self.object.type)
     if self.object.type not in self.allowed_types:
         raise Http404()
Example #4
0
def edit_question(request, qid):
    error = False

    question = get_object_or_404(Question, id=qid)
    survey = Engagement_Survey.objects.filter(questions__in=[question])
    reverted = False

    answered = []
    if survey:
        answered = Answered_Survey.objects.filter(survey__in=survey)
        if answered.count() > 0:
            messages.add_message(
                request,
                messages.ERROR,
                'This question is part of an already answered survey. If you change it, the responses '
                'may no longer be valid.',
                extra_tags='alert-info')

    type = str(ContentType.objects.get_for_model(question))

    if type == 'dojo | text question':
        form = EditTextQuestionForm(instance=question)
    elif type == 'dojo | choice question':
        form = EditChoiceQuestionForm(instance=question)
    else:
        raise Http404()

    if request.method == 'POST':
        if type == 'dojo | text question':
            form = EditTextQuestionForm(request.POST, instance=question)
        elif type == 'dojo | choice question':
            form = EditChoiceQuestionForm(request.POST, instance=question)
        else:
            raise Http404()

        if form.is_valid():
            form.save()

            for answered_survey in answered:
                answered_survey.completed = False
                answered_survey.answered_on = None
                answered_survey.save()
                reverted = True

            if reverted:
                messages.add_message(
                    request,
                    messages.SUCCESS,
                    'Answered surveys associated with this survey have been set to uncompleted.',
                    extra_tags='alert-warning')

            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Question updated successfully.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('questions'))
    add_breadcrumb(title="Edit Question", top_level=False, request=request)
    return render(request, 'defectDojo-engagement-survey/edit_question.html', {
        'name': 'Edit Question',
        'question': question,
        'form': form
    })
Example #5
0
 def wrapper(request, *args, **kwargs):
     if request.journal is not None:
         return func(request, *args, **kwargs)
     else:
         raise Http404()
Example #6
0
 def latest(self, request, *args, **kwargs):
     meta_entries = self.get_queryset().order_by('-datetime')
     if len(meta_entries) == 0:
         raise Http404('There are no meta entries.')
     latest_temperature = meta_entries[0]
     return Response(self.get_serializer(latest_temperature).data)
Example #7
0
 def dispatch(self, request, *args, **kwargs):
     try:
         self.project = Project.objects.get(pk=self.kwargs['pk_project'])
         return super().dispatch(request, *args, **kwargs)
     except Project.DoesNotExist:
         raise Http404("The project doesn't exists")
Example #8
0
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.staticfiles.views import serve as staticfiles_serve
from django.http.response import Http404
from django.shortcuts import redirect
from django.views.defaults import page_not_found

urlpatterns = [
    url('^admin/', include(admin.site.urls)),
    url('^business-logic/', include('business_logic.urls')),
    url('^business-logic/', lambda request: page_not_found(request, Http404())),
    url('^books/', include('sites.dev.books.urls')),
    # url('^(?P<path>static/.*)$', staticfiles_serve),
    url('', lambda x: redirect('/books/book')),
]
Example #9
0
 def _check_player(self, request):
     if self.get_object().account != request.user.account:
         raise Http404(_('You can\'t delete this character.'))
Example #10
0
    def post(self, request, *args, **kwargs):
        if not can_create_character(request.user):
            raise Http404()

        try:
            world_id = kwargs['world_id']
            world = World.objects.get(id=world_id)
        except World.DoesNotExist:
            messages.add_message(request, request.ERROR, "Invalid World")
            return redirect('world:create_character')

        try:
            state_id = request.POST.get('state_id')
            state = Organization.objects.get(id=state_id)
        except Organization.DoesNotExist:
            return self.fail_post_with_error(
                request, world_id, "Select a valid state"
            )

        name = request.POST.get('name')
        surname = request.POST.get('surname')

        if name not in get_names() or surname not in get_surnames():
            return self.fail_post_with_error(
                request, world_id, "Select a valid name/surname"
            )

        profile = request.POST.get('profile')
        if profile not in (choice[0] for choice in Character.PROFILE_CHOICES):
            return self.fail_post_with_error(
                request, world_id, "Select a valid profile"
            )

        character = Character.objects.create(
            name=name + ' ' + surname,
            world=world,
            location=random.choice(
                Settlement.objects.filter(
                    tile__in=state.get_all_controlled_tiles()
                )
            ),
            oath_sworn_to=state if state.leader is None else state.leader,
            owner_user=request.user,
            cash=100,
            profile=profile
        )

        if character.profile == Character.TRADER:
            InventoryItem.objects.create(
                type=InventoryItem.CART,
                quantity=5,
                owner_character=character,
            )

        character.add_notification(
            'welcome',
            '<h4>Welcome, {char_name}!</h4>'
            '<p>You are starting as a member of {state_link}, a realm in '
            '<a href="{world_url}">{world_name}</a>.</p>'
            '<p>A good way to start your journey is to write a message '
            'to the other members of {state_link} asking for orders '
            'or guidance on how you can be useful.</p>'
            ''.format(
                char_name=character.name,
                state_link=state.get_html_link(),
                world_url=world.get_absolute_url(),
                world_name=world.name
            ),
            safe=True
        )

        state.character_members.add(character)

        return redirect(character.activation_url)
Example #11
0
    def post(self, request, *args, **kwargs):
        recruitment_type = request.POST.get('recruitment_type')
        if recruitment_type in ('conscription', 'professional'):
            if recruitment_type == 'conscription':
                prefix = 'conscript_'
            elif recruitment_type == 'professional':
                prefix = 'professional_'
            else:
                raise Http404()

            if not request.hero.can_conscript():
                return RecruitmentView.fail_post_with_error(
                    request,
                    "You can't conscript units here."
                )

            # get soldier count
            target_soldier_count = \
                int(request.POST.get('{}count'.format(prefix)))
            if not target_soldier_count > 0:
                return RecruitmentView.fail_post_with_error(
                    request, "Invalid number of soldiers."
                )

            # check cash
            if request.hero.cash < unit_cost(target_soldier_count):
                return RecruitmentView.fail_post_with_error(
                    request,
                    "You need {} silver coins to recruit a unit of {} "
                    "and you don't have that much.".format(
                        target_soldier_count,
                        target_soldier_count
                    )
                )

            # calculate time
            conscription_time = request.hero.location.conscription_time(
                target_soldier_count
            )

            if request.hero.hours_in_turn_left < conscription_time:
                return RecruitmentView.fail_post_with_error(
                    request,
                    "You need {} to recruit a unit of {}, but you don't have "
                    "that much time left in this turn.".format(
                        nice_hours(conscription_time),
                        target_soldier_count
                    )
                )

            # check unit type
            unit_type = request.POST.get('{}unit_type'.format(prefix))
            if unit_type not in WorldUnit.get_unit_types(nice=True):
                return RecruitmentView.fail_post_with_error(
                    request, "Invalid unit type."
                )

            # check payment
            """
            pay = int(request.POST.get('{}pay'.format(prefix)))
            if pay not in range(1, 7):
                return RecruitmentView.fail_post_with_error(
                    request, "Invalid payment."
                )

            if (
                    request.hero.worldunit_set.count() + 1 >
                    request.hero.max_units()
            ):
                return RecruitmentView.fail_post_with_error(
                    request, "You can't recruit any more units."
                )
            """

            already_recruited_soldier_count = sum(
                unit.soldier.count()
                for unit in request.hero.worldunit_set.all()
            )
            if (
                    already_recruited_soldier_count + target_soldier_count >
                    request.hero.max_soldiers()
            ):
                return RecruitmentView.fail_post_with_error(
                    request, "You can't recruit that many soldiers."
                )


            # get candidates

            try:
                candidates = build_population_query_from_request(
                    request, prefix, request.hero.location
                )
            except BadPopulation as e:
                return RecruitmentView.fail_post_with_error(request, e)

            if candidates.count() == 0:
                return RecruitmentView.fail_post_with_error(
                    request,
                    "You seem unable to find anyone in {} matching the profile"
                    " you want".format(request.hero.location)
                )

            soldiers = sample_candidates(candidates, target_soldier_count)

            unit = recruit_unit(
                "{}'s new unit".format(request.hero),
                request.hero,
                request.hero.location,
                soldiers,
                recruitment_type,
                unit_type
            )
            unit.mobilize()

            request.hero.hours_in_turn_left -= conscription_time
            request.hero.cash -= unit.monthly_cost()
            request.hero.save()

            messages.success(
                request,
                "You formed a new unit of {} called {}".format(
                    len(soldiers), unit.name
                ),
                "success"
            )
            return redirect(unit.get_absolute_url())

        else:
            pass
Example #12
0
    def get_data(self):
        config_list = self.config_list
        if not config_list:
            raise Http404()

        if len(config_list) == 1:
            config = config_list[0]
        else:
            config = {
                'title': 'All',
                'sections': self._get_collected_sections(config_list)
            }

        needed_data_sources = self._get_needed_data_sources(config)

        data_sources = list()
        months = [
            dt.strftime("%b %Y")
            for dt in rrule(MONTHLY,
                            dtstart=self.config['two_before'],
                            until=self.config['month'])
        ]

        for data_source_name in needed_data_sources:
            data_row = list()
            for month in months:
                selected_month = parse(month).date().replace(day=1)
                month_config = self.config.copy()
                month_config['month'] = selected_month

                data_source = FACT_SHEET_DATASOURCES_NAMES[data_source_name](
                    config=month_config,
                    loc_level=self.loc_level,
                    show_test=self.show_test,
                    beta=self.beta)
                data_row += data_source.get_data()

            data_sources.append(data_row)

        all_data = self._get_all_data(data_sources)

        sql_location = self.config.get('sql_location')

        for month in months:
            data_for_month = False
            active_location = True
            month_data = {}
            for row_data in all_data:
                m = row_data['month'].strftime("%b %Y")
                if sql_location is not None:
                    activation_date = sql_location.metadata.get(
                        'deprecates_at')
                    if activation_date:
                        activation_date = parse(activation_date).date()
                        if row_data['month'] < activation_date:
                            active_location = False
                if month == m:
                    month_data = row_data
                    data_for_month = True

            for section in config['sections']:
                section['months'] = months
                for row in section['rows_config']:
                    if 'data' not in row:
                        row['data'] = [{'html': row['header']}]

                    if data_for_month:
                        row['data'].append((month_data[row['slug']] or {
                            'html': 0
                        }))
                    elif not active_location:
                        row['data'].append({'html': '---'})
                    else:
                        row['data'].append({'html': 0})

                    if 'average' in row:
                        data = get_data_for_national_aggregatation(
                            self.config['domain'],
                            self.config['previous_month'].strftime('%Y-%m-%d'),
                            row['data_source'], self.loc_level, self.show_test,
                            self.beta)
                        row['average'] = data[0][row['slug']] if data else ''

        return {'config': config}
Example #13
0
def dummy_view(request):
    raise Http404()
Example #14
0
 def get_redirect_url(self, *args, **kwargs):
     school = self.get_object()
     url = school.picture
     if url:
         return url
     raise Http404()
Example #15
0
def daq_controller(request, daq_host, parent_namespace, controller_namespace):

    daq_controller = None
    controllers = DAQController.objects.filter(name=controller_namespace)
    # controllers = get_object_or_404(DAQController, name=controller_namespace)
    # get_object_or_404(controllers)

    for controller in controllers:
        ns = controller.get_namespace()
        parent_sig = ns.get_namespace_sig(section="PARENT")

        if (
            parent_sig["host"] == daq_host
            and parent_sig["namespace"] == parent_namespace
        ):
            daq_controller = controller
            controller_ns = ns
            break        
    
    if not daq_controller:
        raise Http404(f"DAQController {controller_namespace} not found")

    measurements = daq_controller.measurement_sets

    # server_sig = controller_ns.get_namespace_comp_sig()
    plotserver_sig = PlotManager.get_server(server_id=ns).get_sig()
    plotserver_host = plotserver_sig["host"]
    plotserver_port = plotserver_sig["port"]
    print(f"plotserver_sig: {plotserver_sig}")

    plotserver_ui_host = plotserver_host
    if 'ui_host' in settings.PLOT_SERVER:
        plotserver_ui_host = settings.PLOT_SERVER['ui_host']

    request_host = request.get_host().split(":")[0]
    if request_host != plotserver_ui_host:
        plotserver_ui_host = request_host
        
    # host = 'localhost'
    # port = 5001
    # if 'server_id' in settings.PLOT_SERVER:
    #     host = settings.PLOT_SERVER['server_id'][0]
    #     port = settings.PLOT_SERVER['server_id'][1]

    # if 'hostname' in settings.PLOT_SERVER:
    #     host = settings.PLOT_SERVER['hostname']

    # test_host = request.get_host()
    print(f"++++ hosts: {plotserver_host}:{plotserver_port}, {plotserver_ui_host}:{plotserver_port}")
    plots = dict()
    # plots["host"] = host
    # plots["port"] = port
    plots["host"] = plotserver_ui_host
    plots["port"] = plotserver_port
    plots["name"] = "/controller_"+daq_controller.name

    # print(f"views plots: {plots}, {host}, {port}, {plotserver_host}, {plotserver_port}")
    # print(f'{PlotManager.get_app_list(ctr.alias_name)}')
    plots["app_list"] = PlotManager.get_app_list(daq_controller.name)
    plot_scripts = []
    for app in plots['app_list']:
        plot_scripts.append(
            # server_document(f"http://{host}:{port}"+app)
            server_document(f"http://{plotserver_ui_host}:{plotserver_port}"+app)
        )
    # plot_script = server_document("http://localhost:5001"+plots["name"])
    # print(f'plot_script: {plot_script}')
    # print(f'565656 plot_scripts: {plot_scripts}')
    # print(f'controller_name: {mark_safe(json.dumps(ctr.name))}')
    context = {
        'daq_host': mark_safe(daq_host),
        'parent_namespace': mark_safe(parent_namespace),
        # 'daq_namespace': mark_safe(json.dumps(daq_namespace)),
        'controller_namespace': mark_safe(controller_namespace),
        'controller_display_name': mark_safe(daq_controller.name),
        'controller_name': mark_safe(json.dumps(daq_controller.name)),
        'controller_label': mark_safe(json.dumps(daq_controller.name)),
        'controller_measurements': mark_safe(
            json.dumps(measurements)
        ),
        'plot_app': mark_safe(json.dumps(plots)),
        # 'plot_scriocat': plot_script,
        'plot_scripts': plot_scripts,
    }
    return render(request, 'envdaq/controller.html', context=context)
Example #16
0
def image(request, path, token, autogen=False):

    is_admin = False
    if ("is_admin=true" in token and request
            and request.user.has_perm('admin')) or autogen:
        parameters = token
        is_admin = True
        if autogen:
            token = image_create_token(parameters)
    else:
        parameters = request.session.get(token, token)

    cached_image_file = os.path.join(path, token)

    now = timezone.now()
    expire_offset = timezone.timedelta(seconds=IMAGE_CACHE_HTTP_EXPIRATION)

    response = HttpResponse()
    response['Content-type'] = 'image/jpeg'
    response['Expires'] = (now + expire_offset).strftime("%a, %d %b %Y %T GMT")
    response['Last-Modified'] = now.strftime("%a, %d %b %Y %T GMT")
    response['Cache-Control'] = 'max-age=3600, must-revalidate'
    response.status_code = 200

    # If we already have the cache we send it instead of recreating it
    if IMAGE_CACHE_STORAGE.exists(cached_image_file):

        if autogen:
            return 'Already generated'

        try:
            f = IMAGE_CACHE_STORAGE.open(cached_image_file, "r")
        except IOError:
            raise Http404()
        response.write(f.read())
        f.close()

        response['Last-Modified'] = IMAGE_CACHE_STORAGE.modified_time(
            cached_image_file).strftime("%a, %d %b %Y %T GMT")
        return response

    if parameters == token and not is_admin:
        return HttpResponse("Forbidden", status=403)

    qs = QueryDict(parameters)

    file_storage = MEDIA_STORAGE
    if qs.get('static', '') == "true":
        file_storage = STATIC_STORAGE

    format = qs.get('format', IMAGE_DEFAULT_FORMAT)
    quality = int(qs.get('quality', IMAGE_DEFAULT_QUALITY))
    mask = qs.get('mask', None)
    mask_source = qs.get('mask_source', None)

    if mask is not None:
        format = "PNG"

    fill = qs.get('fill', None)
    background = qs.get('background', None)
    tint = qs.get('tint', None)

    center = qs.get('center', ".5,.5")
    mode = qs.get('mode', "crop")
    enlarge = qs.get('enlarge', "true")

    overlays = qs.getlist('overlay')
    overlay_sources = qs.getlist('overlay_source')
    overlay_tints = qs.getlist('overlay_tint')
    overlay_sizes = qs.getlist('overlay_size')
    overlay_positions = qs.getlist('overlay_position')

    width = qs.get('width', None)
    if width:
        width = int(width)
    height = qs.get('height', None)
    if height:
        height = int(height)

    pre_rotation = qs.get('pre_rotation', None)
    post_rotation = qs.get('post_rotation', None)

    try:
        padding = float(qs.get('padding', None))
    except TypeError:
        padding = 0.0

    grayscale = bool(qs.get('grayscale', False))

    if "video" in qs:
        data, http_response = generate_thumb(file_storage, smart_unicode(path))
        response.status_code = http_response
    else:
        try:
            try:
                f = urllib.urlopen(qs['url'])
                data = f.read()
                f.close()
            except KeyError:
                f = file_storage.open(path)
                data = f.read()
                f.close()
        except IOError:
            response.status_code = 404
            data = ""

    if data:
        try:
            crop = (mode != "scale")
            force = (enlarge == "true")
            print force
            output_data = render(data,
                                 width,
                                 height,
                                 force=force,
                                 padding=padding,
                                 overlays=overlays,
                                 overlay_sources=overlay_sources,
                                 overlay_tints=overlay_tints,
                                 overlay_positions=overlay_positions,
                                 overlay_sizes=overlay_sizes,
                                 mask=mask,
                                 mask_source=mask_source,
                                 center=center,
                                 format=format,
                                 quality=quality,
                                 fill=fill,
                                 background=background,
                                 tint=tint,
                                 pre_rotation=pre_rotation,
                                 post_rotation=post_rotation,
                                 crop=crop,
                                 grayscale=grayscale)
        except IOError:
            traceback.print_exc()
            response.status_code = 500
            output_data = ""
    else:
        output_data = data

    if response.status_code == 200:
        IMAGE_CACHE_STORAGE.save(cached_image_file, ContentFile(output_data))
        if autogen:
            return 'Generated ' + str(response.status_code)
    else:
        if autogen:
            return 'Failed ' + cached_image_file

    response.write(output_data)

    return response
Example #17
0
def teams(request,code):
    itr_temp = 0
    for team in td.TEAMS:
        if(team == code):
            return render(request,'CPL/teams.html',{'team':td.TEAMS[team],'name':team,'letter':int(team,2)})
    raise Http404('Invalid Team ID')
Example #18
0
 def dispatch(self, request, *args, **kwargs):
     if not self.request.couch_user.is_web_user():
         raise Http404()
     return super(SupervisionDocumentView,
                  self).dispatch(request, *args, **kwargs)
Example #19
0
 def get_queryset(self):
     try:
         self.project = Project.objects.get(pk=self.kwargs['pk_project'])
         return Module.objects.filter(project=self.project)
     except Project.DoesNotExist:
         raise Http404("The project doen't exists")
Example #20
0
 def dispatch(self, request, *args, **kwargs):
     if not self.request.couch_user.is_domain_admin():
         raise Http404()
     return super(PendingRecalculationsListView,
                  self).dispatch(request, *args, **kwargs)
Example #21
0
def detalhes(request, contato_id):
    #contato = Contato.objects.get(id=contato_id)
    contato = get_object_or_404(Contato, id=contato_id)
    if not contato.mostrar:
        raise Http404()
    return render(request, 'contatos/detalhes.html', {'contato': contato})
Example #22
0
 def dispatch(self, request, *args, **kwargs):
     if not self.request.couch_user.is_domain_admin():
         raise Http404()
     return super(ReportRunDeleteView,
                  self).dispatch(request, *args, **kwargs)
Example #23
0
def show_404(request):
    raise Http404()
Example #24
0
 def get_form_class(self):
     policy_cls = GRADING_POLICY_NAME_TO_CLS.get(
         self.request.GET.get('grading_policy'), None)
     if policy_cls is None:
         raise Http404("No such grading policy")
     return policy_cls.get_form_class()
Example #25
0
def notfound_view(request, *args, **kwargs):
    raise Http404("Ops!")
Example #26
0
 def page_title(self):
     if not self.static_toggle:
         raise Http404()
     return self.static_toggle.label
Example #27
0
 def get_object(self, queryset=None):
     try:
         obj = DeveloperSkill.objects.get(id=self.kwargs['skill_id'])
         return obj
     except ObjectDoesNotExist:
         raise Http404("No object found matching this query")
Example #28
0
def daq_instrument(request, daq_host, parent_namespace, instrument_namespace):
    daq_instrument = None
    instruments = DAQInstrument.objects.filter(name=instrument_namespace)
    # controllers = get_object_or_404(DAQController, name=controller_namespace)
    # get_object_or_404(instruments)

    for instrument in instruments:
        ns = instrument.get_namespace()
        parent_sig = ns.get_namespace_sig(section="PARENT")

        if (
            parent_sig["host"] == daq_host
            and parent_sig["namespace"] == parent_namespace
        ):
            daq_instrument = instrument
            break        
    
    if not daq_instrument:
        raise Http404(f"DAQInstrument {instrument_namespace} not found")

    measurements = daq_instrument.measurement_sets

    # server_sig = controller_ns.get_namespace_comp_sig()
    plotserver_sig = PlotManager.get_server(server_id=ns).get_sig()
    plotserver_host = plotserver_sig["host"]
    plotserver_port = plotserver_sig["port"]
    print(f"plotserver_sig: {plotserver_sig}")

    plotserver_ui_host = plotserver_host
    if 'ui_host' in settings.PLOT_SERVER:
        plotserver_ui_host = settings.PLOT_SERVER['ui_host']

    request_host = request.get_host().split(":")[0]
    if request_host != plotserver_ui_host:
        plotserver_ui_host = request_host

    # host = 'localhost'
    # port = 5001
    # if 'server_id' in settings.PLOT_SERVER:
    #     host = settings.PLOT_SERVER['server_id'][0]
    #     port = settings.PLOT_SERVER['server_id'][1]

    # if 'hostname' in settings.PLOT_SERVER:
    #     host = settings.PLOT_SERVER['hostname']

    print(f"++++ hosts: {plotserver_host}:{plotserver_port}, {plotserver_ui_host}:{plotserver_port}")
    plots = dict()
    # plots["host"] = host
    # plots["port"] = port
    plots["host"] = plotserver_ui_host
    plots["port"] = plotserver_port
    plots["name"] = "/instrument_"+daq_instrument.name

    
    # TODO: these values need to got into database as runtime
    #       data?
    # print(f'{PlotManager.get_app_list(alias.name)}')
    plots["app_list"] = PlotManager.get_app_list(daq_instrument.name)
    # print(f'{plots["app_list"]}')
    plot_scripts = []
    for app in plots['app_list']:
        plot_scripts.append(
            # server_document(f"http://{host}:{port}"+app)
            server_document(f"http://{plotserver_ui_host}:{plotserver_port}"+app)
        )
    
    # TODO: get plot name dynamically
    # plot_script = server_document(f"http://{host}:{port}"+plots["name"])
    plot_script = server_document(f"http://{plotserver_ui_host}:{plotserver_port}"+plots["name"])
    print(f'plot_scripts: {plot_scripts}')
    context = {
        # 'daq_namespace': mark_safe(json.dumps(daq_namespace)),
        # 'controller_namespace': mark_safe(json.dumps(controller_namespace)),
        'daq_host': mark_safe(daq_host),
        'parent_namespace': mark_safe(parent_namespace),
        'instrument_namespace': mark_safe(instrument_namespace),
        'instrument_instance': mark_safe(
            json.dumps(f"{instrument.instrument}")
        ),
        'instrument_name': mark_safe(json.dumps(instrument_namespace)),
        'instrument_label': mark_safe(json.dumps(daq_instrument.name)),
        'instrument_prefix': mark_safe(json.dumps(daq_instrument.name)),
        'instrument_measurements': mark_safe(
            json.dumps(measurements)
        ),
        'plot_app': mark_safe(json.dumps(plots)),
        'plot_script': plot_script,
        'plot_scripts': plot_scripts,
    }
    # print(f'context: {context}')

    return render(request, 'envdaq/instrument.html', context=context)
Example #29
0
def inbox_detail(request, id):
    if not inbox_models.InboxMessage.objects.filter(id=id).exists():
        return Http404()
    inbox_message = inbox_models.InboxMessage.objects.get(id=id)
    return render(request, "userinfo/inbox.html",
                  {"inbox_message": inbox_message})
Example #30
0
 def get_object(self, queryset=None):
     obj = super(DetailView, self).get_object()
     if self.model.objects.vireficate_art(self.request.user,
                                          obj.pk) == None:
         raise Http404('Вы не принадлижите этой группе;)')
     return obj