def __init__(self, *args, **kwargs): super(UpdateMetadata, self).__init__(*args, **kwargs) instance_id = kwargs.get('initial', {}).get('instance_id') metadatas = utils.get_metadata(self.request, instance_id) for key, value in metadatas.items(): # if "enc" not in key: self.fields[key] = forms.CharField(label=key) self.fields[key].required = True self.fields[key].help_text = key self.fields[key].initial = value
def handle(self, request, data): try: instance_id = data['instance_id'] metadatas = utils.get_metadata(self.request, instance_id) for key, value in metadatas.items(): if "enc" not in key: metadatas.update({key:data[key]}) utils.set_metadata(self.request, instance_id, metadatas) messages.success(request,_('Metadata was successfully updated.')) return True except Exception: exceptions.handle(request,_('Unable to update metadata.'))
def handle(self, request, data): try: instance_id = data['instance_id'] metadatas = utils.get_metadata(self.request, instance_id) if data['name'] not in metadatas.keys(): metadatas.update({data['name']:data['value']}) utils.set_metadata(self.request, instance_id, metadatas) messages.success(request,_('Metadata was successfully added.')) return True else: messages.warning(request,_('Such metadata key already exists. Please, go to Update Metadata to change it.')) except Exception: exceptions.handle(request,_('Unable to add metadata.'))