Ejemplo n.º 1
0
    def post(self, request, channel_id):
        channel = ESBChannel.objects.get(id=channel_id)
        post_data = request.POST.copy()

        # 值不变更
        unchanged_data = {}
        if channel.is_official:
            unchanged_data['name'] = channel.name
        if channel.is_confapi:
            unchanged_data['component_name'] = channel.component_name
        if not channel.allow_edit_comp_conf:
            unchanged_data['comp_conf'] = channel.comp_conf

        form = EditESBChannelForm(post_data, instance=channel)
        if form.is_valid():
            form.instance.__dict__.update(unchanged_data)
            form.save()
            return HttpResponseRedirect(reverse('manager.channel.list'))
        system_form = ComponentSystemForm()
        form = i18n_form(form)
        system_form = i18n_form(system_form)
        return render(
            request, 'manager/channel/edit.html', {
                'form': form,
                'system_form': system_form,
                'menu_items': menu_items,
                'menu_active_item': menu_active_item,
            })
Ejemplo n.º 2
0
    def get(self, request, channel_id):
        if not str(channel_id).isdigit():
            raise Http404

        channel = ESBChannel.objects.get(id=channel_id)

        channel.name = channel.name_display

        form = EditESBChannelForm(instance=channel)
        system_form = ComponentSystemForm()

        try:
            rate_limit_conf = json.loads(channel.rate_limit_conf)
            default_rate_limit_conf = rate_limit_conf['app_ratelimit'][
                '__default'][0]
            rate_limit_tokens = default_rate_limit_conf.pop('tokens', '')
            rate_limit_unit = default_rate_limit_conf.keys()[0]
        except Exception:
            rate_limit_tokens = ''
            rate_limit_unit = 'second'

        if channel.allow_edit_comp_conf:
            # 可在 comp_conf_group 中新增字段,用户在通道管理页面上可看到并更新新增字段
            _comp_conf_group = self.comp_conf_group(channel.path,
                                                    channel.comp_conf_json)
            _comp_conf_val = json.dumps([
                (conf['key'], conf['value'])
                for conf in _comp_conf_group['comp_conf']
            ])
        else:
            _comp_conf_group = None
            _comp_conf_val = ''

        form = i18n_form(form)
        system_form = i18n_form(system_form)

        if channel.is_official:
            form.fields['name'].widget.attrs['readonly'] = True
            form.fields['path'].widget.attrs['readonly'] = True
            form.fields['component_codename'].widget.attrs['readonly'] = True

        return render(
            request, 'manager/channel/edit.html', {
                'form': form,
                'system_form': system_form,
                'menu_items': menu_items,
                'menu_active_item': menu_active_item,
                'comp_conf_val': _comp_conf_val,
                'rate_limit_required': channel.rate_limit_required,
                'comp_conf_group': _comp_conf_group,
                'rate_limit_conf': {
                    'tokens': rate_limit_tokens,
                    'unit': rate_limit_unit
                }
            })
Ejemplo n.º 3
0
 def get(self, request):
     form = ESBBuffetComponentForm()
     system_form = ComponentSystemForm()
     form = i18n_form(form)
     system_form = i18n_form(system_form)
     return render(request, 'manager/buffet_comp/apply.html', {
         'form': form,
         'system_form': system_form,
         'menu_items': menu_items,
         'menu_active_item': menu_active_item,
     })
Ejemplo n.º 4
0
 def get(self, request):
     form = ESBChannelForm()
     system_form = ComponentSystemForm()
     form = i18n_form(form)
     system_form = i18n_form(system_form)
     return render(
         request, 'manager/channel/add.html', {
             'form': form,
             'system_form': system_form,
             'menu_items': menu_items,
             'menu_active_item': menu_active_item,
         })
Ejemplo n.º 5
0
 def post(self, request):
     form = ESBChannelForm(request.POST)
     if form.is_valid():
         form.save()
         return HttpResponseRedirect(reverse('manager.channel.list'))
     system_form = ComponentSystemForm()
     form = i18n_form(form)
     system_form = i18n_form(system_form)
     return render(
         request, 'manager/channel/add.html', {
             'form': form,
             'system_form': system_form,
             'menu_items': menu_items,
             'menu_active_item': menu_active_item,
         })
Ejemplo n.º 6
0
 def get(self, request, item_id):
     item = ESBBuffetComponent.objects.get(pk=item_id)
     d = item.__dict__
     d['system'] = item.system
     form = EditESBBuffetComponentForm(initial=dict(**d))
     system_form = ComponentSystemForm()
     form = i18n_form(form)
     system_form = i18n_form(system_form)
     return render(request, 'manager/buffet_comp/edit.html', {
         'item': item,
         'form': form,
         'system_form': system_form,
         'menu_items': menu_items,
         'menu_active_item': menu_active_item,
     })
Ejemplo n.º 7
0
    def post(self, request, system_id):
        system = ComponentSystem.objects.get(id=system_id)
        post_data = request.POST.copy()

        if system.is_official:
            post_data['label'] = system.label
            post_data['remark'] = system.remark

        form = EditComponentSystemForm(post_data, instance=system)
        if form.is_valid():
            form.save()

            if not system.is_official:
                form.add_and_clean_doc_category()

            return HttpResponseRedirect(reverse('manager.system.list'))
        form = i18n_form(form)
        doc_category_list = SystemDocCategory.objects.all()
        return render(
            request, 'manager/system/edit.html', {
                'form': form,
                'doc_category_list': doc_category_list,
                'menu_items': menu_items,
                'menu_active_item': menu_active_item,
            })
Ejemplo n.º 8
0
 def post(self, request):
     form = ESBBuffetComponentForm(request.POST)
     if form.is_valid():
         data = form.cleaned_data
         obj = ESBBuffetComponent(submitter=request.user.username, **data)
         obj.save()
         return HttpResponseRedirect(reverse('manager.buffet_comp.list'))
     system_form = ComponentSystemForm()
     form = i18n_form(form)
     system_form = i18n_form(system_form)
     return render(
         request, 'manager/buffet_comp/apply.html', {
             'form': form,
             'system_form': system_form,
             'menu_items': menu_items,
             'menu_active_item': menu_active_item,
         })
Ejemplo n.º 9
0
    def post(self, request, item_id):
        item = ESBBuffetComponent.objects.get(pk=item_id)
        form = EditESBBuffetComponentForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            item.__dict__.update(data)
            item.system = data['system']
            item.save()
            return HttpResponseRedirect(reverse('manager.buffet_comp.list'))

        system_form = ComponentSystemForm()
        form = i18n_form(form)
        system_form = i18n_form(system_form)
        return render(request, 'manager/buffet_comp/edit.html', {
            'form': form,
            'system_form': system_form,
            'menu_items': menu_items,
            'menu_active_item': menu_active_item,
        })
Ejemplo n.º 10
0
 def get(self, request):
     form = ComponentSystemForm()
     doc_category_list = SystemDocCategory.objects.all()
     form = i18n_form(form)
     return render(request, 'manager/system/add.html', {
         'form': form,
         'default_doc_category': DEFAULT_DOC_CATEGORY,
         'doc_category_list': doc_category_list,
         'menu_items': menu_items,
         'menu_active_item': menu_active_item,
     })
Ejemplo n.º 11
0
 def post(self, request):
     form = ComponentSystemForm(request.POST)
     if form.is_valid():
         form.save()
         form.add_and_clean_doc_category()
         return HttpResponseRedirect(reverse('manager.system.list'))
     form = i18n_form(form)
     doc_category_list = SystemDocCategory.objects.all()
     return render(request, 'manager/system/add.html', {
         'form': form,
         'default_doc_category': DEFAULT_DOC_CATEGORY,
         'doc_category_list': doc_category_list,
         'menu_items': menu_items,
         'menu_active_item': menu_active_item,
     })
Ejemplo n.º 12
0
    def get(self, request, system_id):
        system = ComponentSystem.objects.get(id=system_id)

        if system.is_official:
            system.label = _(system.label)
            system.remark = _(system.remark)

        form = EditComponentSystemForm(instance=system)

        if system.is_official:
            form.fields['name'].widget.attrs['readonly'] = True
            form.fields['label'].widget.attrs['readonly'] = True
            form.fields['remark'].widget.attrs['readonly'] = True

        doc_category_list = SystemDocCategory.objects.all()
        form = i18n_form(form)
        return render(request, 'manager/system/edit.html', {
            'form': form,
            'system': system,
            'doc_category_list': doc_category_list,
            'menu_items': menu_items,
            'menu_active_item': menu_active_item,
        })