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"))
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")
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'))
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))
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)
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]))
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']
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' ])
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))
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)