コード例 #1
0
class LoggerFilterForm(FilterForm):
    def __init__(self, *args, **kwargs):
        super(LoggerFilterForm, self).__init__(*args, **kwargs)

    def _get_header_title(self):
        return _("Logged Actions")

    def get_key_time_field(self):
        return self.base_fields['TimeBegin']

    default_fields_names = ['ServiceType', 'TimeBegin', 'IsMonitoring']

    ServiceType = IntegerChoiceField(id="logger_service_type_id",
                                     label=_('Service type'),
                                     choices=CorbaLazyRequestIterStruct(
                                         'Logger', None, 'getServices',
                                         ['id', 'name'], None),
                                     onchange="filter_action_types();")
    SourceIp = CharField(label=_('Source IP'))
    UserName = CharField(label=_('Username'))
    RequestType = IntegerChoiceField(id="logger_action_type_id",
                                     label=_('Request type'),
                                     choices=[],
                                     validate=False,
                                     onfocus="filter_action_types();")
    TimeBegin = DateTimeIntervalField(label=_('Begin time'))
    TimeEnd = DateTimeIntervalField(label=_('End time'))
    RequestPropertyValue = CompoundFilterField(label=_('Property'),
                                               form_class=PropertyFilterForm)
    ResultCode = CompoundFilterField(label=_('Result code'),
                                     form_class=ResultCodeFilterForm)
    IsMonitoring = BooleanField(label=_("Monitoring"))
コード例 #2
0
class SingleGroupEditForm(EditForm):
    id = ChoiceField(label=_('name'),
                     choices=CorbaLazyRequestIterStruct(
                         'Admin', 'getGroupManager', 'getGroups',
                         ['id', 'name'],
                         lambda groups: [g for g in groups
                                         if not g.cancelled]),
                     required=False)

    def fire_actions(self, reg_id, *args, **kwargs):
        mgr = cherrypy.session['Admin'].getGroupManager()
        group_id = self.fields['id'].value
        if not group_id:
            return
        else:
            group_id = int(group_id)
        try:
            if "id" in self.changed_data:
                old_group_id = self.initial.get('id', None)
                if old_group_id:
                    # We're chaning an already existing groups membership.
                    mgr.removeRegistrarFromGroup(reg_id, old_group_id)
                memberships = mgr.getMembershipsByRegistar(reg_id)
                is_member = any(
                    item.group_id == group_id and not \
                    recoder.corba_to_date(item.toDate) for item in memberships)
                if not is_member:
                    # Add the registrar to a new group.
                    mgr.addRegistrarToGroup(reg_id, group_id)
            elif 'DELETE' in self.changed_data:
                mgr.removeRegistrarFromGroup(reg_id, group_id)
        except Registry.Registrar.InvalidValue, e:
            error(e)
            raise UpdateFailedError("Invalid registrar group value provided")
コード例 #3
0
class ObjectStateFilterForm(FilterForm):
    default_field_names = ['StateId']

    StateId = ChoiceField(label=_('State Type'),
                          choices=CorbaLazyRequestIterStruct(
                              'Admin', None, 'getObjectStatusDescList',
                              ['id', 'shortName'], None, config.lang[:2]))

    ValidFrom = DateTimeIntervalField(label=_('Valid from'))
    ValidTo = DateTimeIntervalField(label=_('Valid to'))
コード例 #4
0
class FileFilterForm(FilterForm):
    default_fields_names = ['Type']

    Name = CharField(label=_('Name'))
    Path = CharField(label=_('Path'))
    MimeType = CharField(label=_('Mime type'))
    CreateTime = DateTimeIntervalField(label=_('Create time'))
    Type = ChoiceField(label=_('Type'),
                       choices=CorbaLazyRequestIterStruct(
                           'FileManager', None, 'getTypeEnum', ['id', 'name'],
                           None))
コード例 #5
0
class MessageFilterForm(FilterForm):
    default_fields_names = ['CrDate']
    CrDate = DateTimeIntervalField(label=_('Creation date'))
    ModDate = DateTimeIntervalField(label=_('Modification date'))
    Attempt = IntegerField(label=_('Attempts'))
    Status = ChoiceField(label=_('Status'),
                         choices=CorbaLazyRequestIterStruct(
                             'Messages', None, 'getStatusList', ['id', 'name'],
                             None))
    CommType = ChoiceField(label=_('Communication type'),
                           choices=CorbaLazyRequestIterStruct(
                               'Messages', None, 'getCommTypeList',
                               ['id', 'name'], None))
    MessageType = ChoiceField(label=_('Message type'),
                              choices=CorbaLazyRequestIterStruct(
                                  'Messages', None, 'getMessageTypeList',
                                  ['id', 'name'], None))
    SmsPhoneNumber = CharField(label=_('SMS phone number'))
    LetterAddrName = CharField(label=_('Letter address name'))
    MessageContact = CompoundFilterField(label=_('Message contact'),
                                         form_class=ContactFilterForm)
コード例 #6
0
class RegistrarFilterForm(FilterForm):
    default_fields_names = ['Handle']

    Handle = CharField(label=_('Handle'))
    Name = CharField(label=_('Name'))
    Organization = CharField(label=_('Organization'))
    City = CharField(label=_('City'))
    CountryCode = CharField(label=_('Country'))
    ZoneFqdn = CharField(label=_('Zone fqdn'))
    GroupId = ChoiceField(
        label=_('Group'),
        choices=CorbaLazyRequestIterStruct(
            'Admin', 'getGroupManager', 'getGroups', ['id', 'name'],
            lambda groups: [g for g in groups if not g.cancelled]))
コード例 #7
0
class MailFilterForm(FilterForm):
    default_fields_names = ['CreateTime', 'Type']

    Type = ChoiceField(label=_('Type'),
                       choices=CorbaLazyRequestIterStruct(
                           'Mailer', None, 'getMailTypes', ['id', 'name'],
                           None))
    #Handle = CharField(label=_('Handle'))
    CreateTime = DateTimeIntervalField(label=_('Create time'))
    ModifyTime = DateTimeIntervalField(label=_('Modify time'))
    # docasny, az bude v corba tak smazat
    Status = IntegerField(label=_('Status'))
    Attempt = IntegerField(label=_('Attempt'))
    Message = CharField(label=_('Message'))
    Attachment = CompoundFilterField(label=_('Attachment'),
                                     form_class=FileFilterForm)

    def get_key_time_field(self):
        return self.base_fields['CreateTime']
コード例 #8
0
ファイル: adifforms.py プロジェクト: CZ-NIC/fred-webadmin
    def build_fields(self):
        super(DomainBlockBase, self).build_fields()

        # this is here so we don't have to solve order different way (this field should be before 'blocking_status_list'
        self.fields['block_to_date'] = DateFieldWithJsLink(
            name='block_to_date',
            link_add_months_count=config.blocking_link_add_month_count,
            label=_('Block to date'),
            required=False)
        self.fields['blocking_status_list'] = MultipleChoiceFieldCheckboxes(
            name='blocking_status_list',
            choices=CorbaLazyRequestIterStruct('Blocking', None,
                                               'getBlockingStatusDescList',
                                               ['shortName', 'name'], None,
                                               None, config.lang[:2].upper()),
            label=_('Blocking statuses'),
            initial=[
                'serverDeleteProhibited', 'serverTransferProhibited',
                'serverUpdateProhibited'
            ])
コード例 #9
0
class BankStatementFilterForm(FilterForm):
    def _get_header_title(self):
        return _("Payments")

    default_fields_names = ['Type']

    Type = IntegerChoiceField(
        label=_('Type'),
        choices=[(editforms.PAYMENT_UNASSIGNED,
                  editforms.payment_map[editforms.PAYMENT_UNASSIGNED]),
                 (editforms.PAYMENT_REGISTRAR,
                  editforms.payment_map[editforms.PAYMENT_REGISTRAR]),
                 (editforms.PAYMENT_BANK,
                  editforms.payment_map[editforms.PAYMENT_BANK]),
                 (editforms.PAYMENT_ACCOUNTS,
                  editforms.payment_map[editforms.PAYMENT_ACCOUNTS]),
                 (editforms.PAYMENT_ACADEMIA,
                  editforms.payment_map[editforms.PAYMENT_ACADEMIA]),
                 (editforms.PAYMENT_OTHER,
                  editforms.payment_map[editforms.PAYMENT_OTHER])])

    AccountDate = DateIntervalField(label=_('Account date'))

    AccountNumber = CharField(label=_('Account number'))
    BankCode = CharField(label=_('Bank code'))

    ConstSymb = CharField(label=_('Constant symbol'))
    VarSymb = CharField(label=_('Variable symbol'))

    CrTime = DateTimeIntervalField(label=_('Import time'))
    AccountMemo = CharField(label=_('Memo'))

    AccountId = ChoiceField(label=_('Destination account'),
                            choices=CorbaLazyRequestIterStruct(
                                'Admin', None, 'getBankAccounts',
                                ['id', 'name'], None))
コード例 #10
0
class RegistrarEditForm(EditForm):
    def __init__(self, *args, **kwargs):
        super(RegistrarEditForm,
              self).__init__(layout_class=RegistrarEditFormLayout,
                             enctype="multipart/form-data",
                             *args,
                             **kwargs)

    handle = CharField(label=_('Handle'))  # registrar identification
    name = CharField(label=_('Name'), required=False)  # registrar name
    organization = CharField(label=_('Organization'),
                             required=False)  # organization name

    street1 = CharField(label=_('Street1'), required=False)  # address part 1
    street2 = CharField(label=_('Street2'), required=False)  # address part 2
    street3 = CharField(label=_('Street3'), required=False)  # address part 3
    city = CharField(label=_('City'),
                     required=False)  # city of registrar headquaters
    stateorprovince = CharField(label=_('State'),
                                required=False)  # address part
    postalcode = CharField(label=_('ZIP'), required=False,
                           max_length=32)  # address part
    country = ChoiceField(label=_('Country'),
                          choices=CorbaLazyRequestIterStruct(
                              'Admin', None, 'getCountryDescList',
                              ['cc', 'name'], None),
                          initial=CorbaLazyRequest('Admin', None,
                                                   'getDefaultCountry', None),
                          required=False)  # country code

    ico = CharField(label=_('ICO'), required=False, max_length=50)
    dic = CharField(label=_('DIC'), required=False, max_length=50)
    varSymb = CharField(label=_('Var. Symbol'), required=False, max_length=10)
    vat = BooleanField(label=_('DPH'), required=False)

    telephone = CharField(label=_('Telephone'), required=False,
                          max_length=32)  # phne number
    fax = CharField(label=_('Fax'), required=False,
                    max_length=32)  # fax number
    email = CharField(label=_('Email'), required=False)  # contact email
    url = CharField(label=_('URL'), required=False)  # URL
    hidden = BooleanField(label=_('System registrar'),
                          required=False)  # System registrar

    visible_fieldsets_ids = HiddenField(required=False,
                                        id="visible_fieldsets_ids_field_id")

    access = FormSetField(label=_('Authentication'),
                          form_class=AccessEditForm,
                          can_delete=True,
                          formset_layout=DivFormSetLayout)
    zones = FormSetField(label=_('Zones'),
                         form_class=ZoneEditForm,
                         can_delete=False,
                         formset_layout=DivFormSetLayout)
    groups = FormSetField(label=_('Groups'),
                          form_class=SingleGroupEditForm,
                          can_delete=True)
    certifications = FormSetField(label=_('Certifications'),
                                  form_class=CertificationEditForm,
                                  can_delete=False)

    sections = ((_("Registrar data"), ("registrar_data_id"),
                 ("handle", "name", "organization", 'street1', 'street2',
                  'street3', 'city', 'postalcode', 'stateorprovince',
                  'country', "postalCode", "ico", "dic", "varSymb", "vat",
                  "telephone", "fax", "email", "url", "hidden", "id",
                  "visible_fieldsets_ids"),
                 HideableSimpleFieldsetFormSectionLayout),
                (_("Authentication"), ("authentications_id"), ("access"),
                 HideableNestedFieldsetFormSectionLayout),
                (_("Zones"), ("zones_id"), ("zones"),
                 HideableNestedFieldsetFormSectionLayout),
                (_("Groups"), ("groups_id"), ("groups"),
                 HideableNestedFieldsetFormSectionLayout),
                (_("Certifications"), ("certifications_id"),
                 ("certifications"), HideableNestedFieldsetFormSectionLayout))

    def filter_base_fields(self):
        """ Filters base fields against user negative permissions, so if
            the user has nperm on the field we delete it from base_fields.
        """
        if self.nperm_names:
            user = cherrypy.session.get('user', None)
            if user is None:
                self.base_fields = SortedDict({})
            else:
                object_name = self.get_object_name()
                formset_fields = [
                    self.base_fields['access'], self.base_fields['zones'],
                    self.base_fields['groups'],
                    self.base_fields['certifications']
                ]
                for field in formset_fields:
                    if not user.check_nperms([
                            '%s.%s.%s' %
                        (nperm_name, object_name, field.get_nperm())
                            for nperm_name in self.nperm_names
                    ], 'one'):
                        field.permitted = True
                    else:
                        field.permitted = False
                filtered_base_fields = SortedDict([
                    (name, field) for name, field in self.base_fields.items()
                ])
                self.base_fields = filtered_base_fields

    def fire_actions(self, *args, **kwargs):
        try:
            reg = kwargs["updated_registrar"]
        except KeyError:
            raise RuntimeError("RegistrarDataEditForm: Failed to fetch "
                               "updated registrar from kwargs.")
        session = utils.get_corba_session()
        try:
            reg_id = session.updateRegistrar(reg)
        except ccReg.Admin.UpdateFailed:
            raise UpdateFailedError(
                "Updating registrar failed. Perhaps you tried to "
                "create a registrar with an already used handle or variable symbol?"
            )
        # Set created/updated registrar id to result (it is used in ADIF
        # registrar page and other fire_action methods).
        kwargs["result"]['reg_id'] = reg_id
        # Fire actions for groups.
        self.fields["groups"].fire_actions(reg_id=reg_id, *args, **kwargs)
        self.fields["certifications"].fire_actions(reg_id=reg_id,
                                                   *args,
                                                   **kwargs)