|
|
|
@ -470,11 +470,11 @@ export default class NewEditProjectView extends Vue { |
|
|
|
|
|
|
|
this.projectId = (this.$route.query["projectId"] as string) || ""; |
|
|
|
|
|
|
|
if (this.projectId) { |
|
|
|
if (this.isSavedProject()) { |
|
|
|
if (this.numAccounts === 0) { |
|
|
|
this.notify.error(NOTIFY_PROJECT_ACCOUNT_LOADING_ERROR.message); |
|
|
|
} else { |
|
|
|
this.loadProject(this.activeDid); |
|
|
|
this.loadProject(this.activeDid, this.projectId); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -484,11 +484,9 @@ export default class NewEditProjectView extends Vue { |
|
|
|
* Retrieves project information from the API and populates form fields |
|
|
|
* @param userDid - User's decentralized identifier |
|
|
|
*/ |
|
|
|
async loadProject(userDid: string) { |
|
|
|
async loadProject(userDid: string, projectId: string) { |
|
|
|
const url = |
|
|
|
this.apiServer + |
|
|
|
"/api/claim/byHandle/" + |
|
|
|
encodeURIComponent(this.projectId); |
|
|
|
this.apiServer + "/api/claim/byHandle/" + encodeURIComponent(projectId); |
|
|
|
const headers = await getHeaders(userDid); |
|
|
|
|
|
|
|
try { |
|
|
|
@ -505,6 +503,12 @@ export default class NewEditProjectView extends Vue { |
|
|
|
} |
|
|
|
if (this.fullClaim?.agent?.identifier) { |
|
|
|
this.agentDid = this.fullClaim.agent.identifier; |
|
|
|
if (this.activeDid !== this.projectIssuerDid) { |
|
|
|
this.agentDid = this.projectIssuerDid; |
|
|
|
this.notify.warning( |
|
|
|
"You were previously the agent, so the agent has been set to the previous owner. You can change it.", |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.fullClaim.startTime) { |
|
|
|
const localDateTime = DateTime.fromISO( |
|
|
|
@ -609,7 +613,7 @@ export default class NewEditProjectView extends Vue { |
|
|
|
private async saveProject() { |
|
|
|
// Make a claim |
|
|
|
const vcClaim: PlanActionClaim = this.fullClaim; |
|
|
|
if (this.projectId) { |
|
|
|
if (this.isSavedProject()) { |
|
|
|
vcClaim.lastClaimId = this.lastClaimJwtId; |
|
|
|
} |
|
|
|
if (this.agentDid) { |
|
|
|
@ -943,6 +947,10 @@ export default class NewEditProjectView extends Vue { |
|
|
|
this.longitude = event.latlng.lng; |
|
|
|
} |
|
|
|
|
|
|
|
private isSavedProject(): boolean { |
|
|
|
return !!this.projectId; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Computed property for character count display |
|
|
|
* Shows current description length and maximum character limit |
|
|
|
@ -958,6 +966,7 @@ export default class NewEditProjectView extends Vue { |
|
|
|
*/ |
|
|
|
get shouldShowOwnershipWarning(): boolean { |
|
|
|
return ( |
|
|
|
this.isSavedProject() && |
|
|
|
this.activeDid !== this.projectIssuerDid && |
|
|
|
this.agentDid !== this.projectIssuerDid |
|
|
|
); |
|
|
|
|