fix schema loads
This commit is contained in:
parent
18d26de9ce
commit
426ddf9aaa
|
@ -907,19 +907,20 @@ class SchemasImportAddView(SchemasMix):
|
|||
|
||||
def get(self, request, *args, **kwargs):
|
||||
self.check_valid_user()
|
||||
file_name = kwargs['file_schema']
|
||||
self.file_name = kwargs['file_schema']
|
||||
schemas_files = os.listdir(settings.SCHEMAS_DIR)
|
||||
if file_name not in schemas_files:
|
||||
if self.file_name not in schemas_files:
|
||||
file_name = self.file_name
|
||||
messages.error(self.request, f"The schema {file_name} not exist!")
|
||||
return redirect('idhub:admin_schemas_import')
|
||||
|
||||
schema = self.create_schema(file_name)
|
||||
schema = self.create_schema()
|
||||
if schema:
|
||||
messages.success(self.request, _("The schema was added sucessfully"))
|
||||
return redirect('idhub:admin_schemas')
|
||||
|
||||
def create_schema(self, file_name):
|
||||
data = self.open_file(file_name)
|
||||
def create_schema(self):
|
||||
data = self.open_file()
|
||||
try:
|
||||
ldata = json.loads(data)
|
||||
assert credtools.validate_schema(ldata)
|
||||
|
@ -935,7 +936,7 @@ class SchemasImportAddView(SchemasMix):
|
|||
_description = json.dumps(ldata.get('description', ''))
|
||||
|
||||
schema = Schemas.objects.create(
|
||||
file_schema=file_name,
|
||||
file_schema=self.file_name,
|
||||
data=data,
|
||||
type=title,
|
||||
_name=_name,
|
||||
|
@ -946,9 +947,9 @@ class SchemasImportAddView(SchemasMix):
|
|||
schema.save()
|
||||
return schema
|
||||
|
||||
def open_file(self, file_name):
|
||||
def open_file(self):
|
||||
data = ''
|
||||
filename = Path(settings.SCHEMAS_DIR).joinpath(file_name)
|
||||
filename = Path(settings.SCHEMAS_DIR).joinpath(self.file_name)
|
||||
with filename.open() as schema_file:
|
||||
data = schema_file.read()
|
||||
|
||||
|
@ -957,7 +958,7 @@ class SchemasImportAddView(SchemasMix):
|
|||
def get_template_description(self):
|
||||
context = {}
|
||||
template_name = 'credentials/{}'.format(
|
||||
self.schema.file_schema
|
||||
self.file_name
|
||||
)
|
||||
tmpl = get_template(template_name)
|
||||
return tmpl.render(context)
|
||||
|
|
|
@ -1,176 +0,0 @@
|
|||
{
|
||||
"$id": "https://idhub.pangea.org/vc_schemas/devicePurchase.json",
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Purchase of an eReuse device",
|
||||
"description": "A device purchase credential is a proof of purchase of a device from a seller by a buyer",
|
||||
"name": [
|
||||
{
|
||||
"value": "Device purchase credential",
|
||||
"lang": "en"
|
||||
},
|
||||
{
|
||||
"value": "Credencial d'adquisició d'un dispositiu",
|
||||
"lang": "ca_ES"
|
||||
},
|
||||
{
|
||||
"value": "Credencial de adquisición de un dispositivo",
|
||||
"lang": "es"
|
||||
}
|
||||
],
|
||||
"type": "object",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "https://idhub.pangea.org/vc_schemas/ebsi/attestation.json"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"credentialSubject": {
|
||||
"description": "Defines additional properties on credentialSubject: the purchase act, to qualify as simplified invoice (ES)",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "Defines a unique identifier (DID) of the credential subject: the purchase act/transaction",
|
||||
"type": "string"
|
||||
},
|
||||
"invoiceNumber": {
|
||||
"description": "The invoice number of the purchase act/transaction",
|
||||
"type": "string"
|
||||
},
|
||||
"totalAmount": {
|
||||
"description": "The total amount of the transaction in local currency units: Euro by default",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerId": {
|
||||
"description": "Defines a unique identifier (DID) of the seller actor",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerBusinessName": {
|
||||
"description": "Business name of the credential subject in the seller role",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerName": {
|
||||
"description": "Name of the credential subject in the seller role",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerSurname": {
|
||||
"description": "Surname of the credential subject in the seller role, if natural person",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerEmail": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"sellerPhoneNumber": {
|
||||
"type": "string"
|
||||
},
|
||||
"sellerIdentityDocType": {
|
||||
"description": "Type of the Identity Document of the credential subject in the seller role",
|
||||
"type": "string"
|
||||
},
|
||||
"sellerIdentityNumber": {
|
||||
"description": "Number of the Identity Document of the credential subject in the seller role",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerId": {
|
||||
"description": "Defines a unique identifier (DID) of the credential subject: the buyer actor",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerBusinessName": {
|
||||
"description": "Business name of the credential subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerName": {
|
||||
"description": "Name of the credential subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerSurname": {
|
||||
"description": "Surname of the credential subject in the buyer role, if natural person",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerEmail": {
|
||||
"type": "string",
|
||||
"format": "email"
|
||||
},
|
||||
"buyerPhoneNumber": {
|
||||
"type": "string"
|
||||
},
|
||||
"buyerIdentityDocType": {
|
||||
"description": "Type of the Identity Document of the credential subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"buyerIdentityNumber": {
|
||||
"description": "Number of the Identity Document of the credential subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"deliveryStreetAddress": {
|
||||
"description": "Postal address of the credential Subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"deliveryPostCode": {
|
||||
"description": "Postal code of the credential Subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"deliveryCity": {
|
||||
"description": "City of the credential Subject in the buyer role",
|
||||
"type": "string"
|
||||
},
|
||||
"supplyDescription": {
|
||||
"description": "Description of the product/device supplied, needed in a simplified invoice",
|
||||
"type": "string"
|
||||
},
|
||||
"taxRate": {
|
||||
"description": "Description of Tax rate (VAT) and optionally also the expression VAT included, or special circumstances such as REBU, needed in a simplified invoice",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceChassisId": {
|
||||
"description": "Chassis identifier of the device",
|
||||
"type": "string"
|
||||
},
|
||||
"devicePreciseHardwareId": {
|
||||
"description": "Chassis precise hardware configuration identifier of the device",
|
||||
"type": "string"
|
||||
},
|
||||
"depositId": {
|
||||
"description": "Identifier of an economic deposit left on loan to be returned under conditions",
|
||||
"type": "string"
|
||||
},
|
||||
"sponsorId": {
|
||||
"description": "Identifier of the sponsor of this purchase that paid the economic cost of the purchase",
|
||||
"type": "string"
|
||||
},
|
||||
"sponsorName": {
|
||||
"description": "Name of the sponsor of this purchase that paid the economic cost of the purchase",
|
||||
"type": "string"
|
||||
},
|
||||
"purchaseDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"invoiceDate": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"invoiceNumber",
|
||||
"totalAmount",
|
||||
"sellerId",
|
||||
"sellerName",
|
||||
"sellerBusinessName",
|
||||
"sellerSurname",
|
||||
"sellerEmail",
|
||||
"sellerIdentityDocType",
|
||||
"sellerIdentityNumber",
|
||||
"buyerId",
|
||||
"buyerEmail",
|
||||
"supplyDescription",
|
||||
"taxRate",
|
||||
"deviceChassisId",
|
||||
"purchaseDate"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue