diff --git a/src/app/addon.component.html b/src/app/addon.component.html index 70f82c6..346cb88 100644 --- a/src/app/addon.component.html +++ b/src/app/addon.component.html @@ -65,6 +65,48 @@

+
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+
diff --git a/src/app/addon.component.ts b/src/app/addon.component.ts index 1b1c6f5..f5e2363 100644 --- a/src/app/addon.component.ts +++ b/src/app/addon.component.ts @@ -53,6 +53,9 @@ export class AddonComponent implements OnInit { cptName: ['', Validators.required ], cptSummary: ['', Validators.required ], cptHomepage: ['', [ Validators.required, urlValidator() ] ], + cptBugtracker: ['', urlValidator()], + cptDonation: ['', urlValidator()], + cptCode: ['', urlValidator()], cptDescription: ['', Validators.required ], cptId: ['', [ Validators.required, Validators.minLength(4), componentIdValidator() ]], extendsCptId: ['', [ Validators.required, Validators.minLength(4), componentIdValidator() ]], @@ -95,6 +98,9 @@ export class AddonComponent implements OnInit { get cptSummary() { return this.cptForm.get('cptSummary'); } get cptHomepage() { return this.cptForm.get('cptHomepage'); } + get cptBugtracker() { return this.cptForm.get('cptBugtracker'); } + get cptDonation() { return this.cptForm.get('cptDonation'); } + get cptCode() { return this.cptForm.get('cptCode'); } get cptDescription() { return this.cptForm.get('cptDescription'); } @@ -145,6 +151,12 @@ export class AddonComponent implements OnInit { return; if (!this.validateField(this.cptHomepage, 'homepage')) return; + if (!this.validateField(this.cptBugtracker, 'bugtracker', true)) + return; + if (!this.validateField(this.cptDonation, 'donation', true)) + return; + if (!this.validateField(this.cptCode, 'code', true)) + return; if (!this.validateField(this.cptDescription, 'long description')) return; if (!this.validateField(this.cptId, 'component ID')) @@ -183,7 +195,10 @@ export class AddonComponent implements OnInit { metadataLicense: this.metadataLicense.value, projectLicense: pLicense, description: this.cptDescription.value, - homepage: this.cptHomepage.value + homepage: this.cptHomepage.value, + bugtracker: this.cptBugtracker.value, + donation: this.cptDonation.value, + code: this.cptCode.value, }; this.dataGenerated = true; diff --git a/src/app/consoleapp.component.html b/src/app/consoleapp.component.html index c1604d3..46e0ae9 100644 --- a/src/app/consoleapp.component.html +++ b/src/app/consoleapp.component.html @@ -67,6 +67,48 @@

+
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+
diff --git a/src/app/consoleapp.component.ts b/src/app/consoleapp.component.ts index e882e71..dc42668 100644 --- a/src/app/consoleapp.component.ts +++ b/src/app/consoleapp.component.ts @@ -68,6 +68,9 @@ export class ConsoleAppComponent implements OnInit { appName: ['', Validators.required ], appSummary: ['', Validators.required ], appHomepage: ['', [ Validators.required, urlValidator() ] ], + cptBugtracker: ['', urlValidator()], + cptDonation: ['', urlValidator()], + cptCode: ['', urlValidator()], appDescription: ['', Validators.required ], cptId: ['', [ Validators.required, Validators.minLength(4), componentIdValidator() ]], metadataLicense: ['', Validators.required ], @@ -120,6 +123,9 @@ export class ConsoleAppComponent implements OnInit { get appSummary() { return this.cptForm.get('appSummary'); } get appHomepage() { return this.cptForm.get('appHomepage'); } + get cptBugtracker() { return this.cptForm.get('cptBugtracker'); } + get cptDonation() { return this.cptForm.get('cptDonation'); } + get cptCode() { return this.cptForm.get('cptCode'); } get appDescription() { return this.cptForm.get('appDescription'); } @@ -174,6 +180,12 @@ export class ConsoleAppComponent implements OnInit { return; if (!this.validateField(this.appHomepage, 'homepage')) return; + if (!this.validateField(this.cptBugtracker, 'bugtracker', true)) + return; + if (!this.validateField(this.cptDonation, 'donation', true)) + return; + if (!this.validateField(this.cptCode, 'code', true)) + return; if (!this.validateField(this.appDescription, 'long description')) return; if (!this.validateField(this.cptId, 'component ID')) @@ -217,7 +229,10 @@ export class ConsoleAppComponent implements OnInit { metadataLicense: this.metadataLicense.value, projectLicense: pLicense, description: this.appDescription.value, - homepage: this.appHomepage.value + homepage: this.appHomepage.value, + bugtracker: this.cptBugtracker.value, + donation: this.cptDonation.value, + code: this.cptCode.value, }; this.dataGenerated = true; diff --git a/src/app/guiapp.component.html b/src/app/guiapp.component.html index 178ee76..7e0f93c 100644 --- a/src/app/guiapp.component.html +++ b/src/app/guiapp.component.html @@ -65,6 +65,48 @@

+
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+
diff --git a/src/app/guiapp.component.ts b/src/app/guiapp.component.ts index 4e3cc11..cd57b17 100644 --- a/src/app/guiapp.component.ts +++ b/src/app/guiapp.component.ts @@ -78,6 +78,9 @@ export class GUIAppComponent implements OnInit { appName: ['', Validators.required ], appSummary: ['', Validators.required ], appHomepage: ['', [ Validators.required, urlValidator() ] ], + cptBugtracker: ['', urlValidator()], + cptDonation: ['', urlValidator()], + cptCode: ['', urlValidator()], appDescription: ['', Validators.required ], cptId: ['', [ Validators.required, Validators.minLength(4), componentIdValidator() ]], metadataLicense: ['', Validators.required ], @@ -164,6 +167,10 @@ export class GUIAppComponent implements OnInit { get appSummary() { return this.cptForm.get('appSummary'); } get appHomepage() { return this.cptForm.get('appHomepage'); } + get cptBugtracker() { return this.cptForm.get('cptBugtracker'); } + get cptDonation() { return this.cptForm.get('cptDonation'); } + get cptCode() { return this.cptForm.get('cptCode'); } + get appDescription() { return this.cptForm.get('appDescription'); } get cptId() { return this.cptForm.get('cptId'); } @@ -234,6 +241,12 @@ export class GUIAppComponent implements OnInit { return; if (!this.validateField(this.appHomepage, 'homepage')) return; + if (!this.validateField(this.cptBugtracker, 'bugtracker', true)) + return; + if (!this.validateField(this.cptDonation, 'donation', true)) + return; + if (!this.validateField(this.cptCode, 'code', true)) + return; if (!this.validateField(this.appDescription, 'long description')) return; if (!this.validateField(this.cptId, 'component ID')) @@ -308,7 +321,10 @@ export class GUIAppComponent implements OnInit { metadataLicense: this.metadataLicense.value, projectLicense: pLicense, description: this.appDescription.value, - homepage: this.appHomepage.value + homepage: this.appHomepage.value, + bugtracker: this.cptBugtracker.value, + donation: this.cptDonation.value, + code: this.cptCode.value, }; arrayAddIfNotEmpty(appInfo.scrImages, this.primaryScreenshot.value); diff --git a/src/app/makemetainfo.ts b/src/app/makemetainfo.ts index 1d8b568..4d3ce9f 100644 --- a/src/app/makemetainfo.ts +++ b/src/app/makemetainfo.ts @@ -26,6 +26,9 @@ export interface ASBasicInfo { projectLicense: string; description: string; homepage: string; + bugtracker: string; + donation: string; + code: string; [key: string]: unknown; } @@ -121,6 +124,14 @@ function createMetainfoPreamble(binfo: ASBasicInfo, relXMLData: ASRelationXMLDat if (binfo.homepage) miXml = miXml + '\n\n' + xmlEscape(binfo.homepage) + ''; + if (binfo.bugtracker) + miXml = miXml + '\n\n' + xmlEscape(binfo.bugtracker) + ''; + + if (binfo.donation) + miXml = miXml + '\n\n' + xmlEscape(binfo.donation) + ''; + + if (binfo.code) + miXml = miXml + '\n\n' + xmlEscape(binfo.code) + ''; return miXml; } diff --git a/src/app/service.component.html b/src/app/service.component.html index 8ec3a7f..bbca06d 100644 --- a/src/app/service.component.html +++ b/src/app/service.component.html @@ -66,6 +66,48 @@

+
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+ +
+ +
+ + + + +
+ +
+

This URL is not accepted

+
+
+
diff --git a/src/app/service.component.ts b/src/app/service.component.ts index 0dcb374..1e989bd 100644 --- a/src/app/service.component.ts +++ b/src/app/service.component.ts @@ -69,6 +69,9 @@ export class ServiceComponent implements OnInit { cptName: ['', Validators.required ], cptSummary: ['', Validators.required ], cptHomepage: ['', [ Validators.required, urlValidator() ] ], + cptBugtracker: ['', urlValidator()], + cptDonation: ['', urlValidator()], + cptCode: ['', urlValidator()], cptDescription: ['', Validators.required ], cptId: ['', [ Validators.required, Validators.minLength(4), componentIdValidator() ]], metadataLicense: ['', Validators.required ], @@ -121,6 +124,9 @@ export class ServiceComponent implements OnInit { get cptSummary() { return this.cptForm.get('cptSummary'); } get cptHomepage() { return this.cptForm.get('cptHomepage'); } + get cptBugtracker() { return this.cptForm.get('cptBugtracker'); } + get cptDonation() { return this.cptForm.get('cptDonation'); } + get cptCode() { return this.cptForm.get('cptCode'); } get cptDescription() { return this.cptForm.get('cptDescription'); } @@ -175,6 +181,12 @@ export class ServiceComponent implements OnInit { return; if (!this.validateField(this.cptHomepage, 'homepage')) return; + if (!this.validateField(this.cptBugtracker, 'bugtracker', true)) + return; + if (!this.validateField(this.cptDonation, 'donation', true)) + return; + if (!this.validateField(this.cptCode, 'code', true)) + return; if (!this.validateField(this.cptDescription, 'long description')) return; if (!this.validateField(this.cptId, 'component ID')) @@ -220,7 +232,10 @@ export class ServiceComponent implements OnInit { metadataLicense: this.metadataLicense.value, projectLicense: pLicense, description: this.cptDescription.value, - homepage: this.cptHomepage.value + homepage: this.cptHomepage.value, + bugtracker: this.cptBugtracker.value, + donation: this.cptDonation.value, + code: this.cptCode.value, }; this.dataGenerated = true;