Add heir management functionality in Falukant module
- Implemented setHeir method in FalukantService to designate a child as heir, including validation checks for user and child relationships. - Updated FalukantController to expose the setHeir endpoint, allowing users to set heirs via the API. - Enhanced FalukantRouter with a new route for setting heirs. - Modified FamilyView component to include UI elements for setting heirs, with success and error feedback. - Updated localization files in both German and English to include new translations related to heir management, improving user experience.
This commit is contained in:
@@ -405,6 +405,11 @@
|
||||
"title": "Kinder",
|
||||
"name": "Name",
|
||||
"age": "Alter",
|
||||
"heir": "Erbe",
|
||||
"isHeir": "Erbe",
|
||||
"setAsHeir": "Als Erben festlegen",
|
||||
"heirSetSuccess": "Das Kind wurde erfolgreich als Erbe festgelegt.",
|
||||
"heirSetError": "Fehler beim Festlegen des Erben.",
|
||||
"actions": "Aktionen",
|
||||
"none": "Keine Kinder vorhanden.",
|
||||
"detailButton": "Details anzeigen",
|
||||
|
||||
@@ -201,6 +201,23 @@
|
||||
"councillor": "Councillor",
|
||||
"assessor": "Assessor"
|
||||
}
|
||||
},
|
||||
"family": {
|
||||
"children": {
|
||||
"title": "Children",
|
||||
"name": "Name",
|
||||
"age": "Age",
|
||||
"heir": "Heir",
|
||||
"isHeir": "Heir",
|
||||
"setAsHeir": "Set as Heir",
|
||||
"heirSetSuccess": "The child has been successfully set as heir.",
|
||||
"heirSetError": "Error setting heir.",
|
||||
"actions": "Actions",
|
||||
"none": "No children available.",
|
||||
"detailButton": "Show Details",
|
||||
"addChild": "Add Child",
|
||||
"baptism": "Baptize"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,6 +117,7 @@
|
||||
<tr>
|
||||
<th>{{ $t('falukant.family.children.name') }}</th>
|
||||
<th>{{ $t('falukant.family.children.age') }}</th>
|
||||
<th>{{ $t('falukant.family.children.heir') }}</th>
|
||||
<th>{{ $t('falukant.family.children.actions') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -130,6 +131,12 @@
|
||||
}}</button>
|
||||
</td>
|
||||
<td>{{ child.age }}</td>
|
||||
<td>
|
||||
<span v-if="child.isHeir" class="heir-badge">{{ $t('falukant.family.children.isHeir') }}</span>
|
||||
<button v-else-if="child.hasName" @click="setAsHeir(child)" class="set-heir-button">
|
||||
{{ $t('falukant.family.children.setAsHeir') }}
|
||||
</button>
|
||||
</td>
|
||||
<td>
|
||||
<button @click="showChildDetails(child)">
|
||||
{{ $t('falukant.family.children.detailButton') }}
|
||||
@@ -241,6 +248,23 @@ export default {
|
||||
console.log('Show details for child:', child);
|
||||
},
|
||||
|
||||
async setAsHeir(child) {
|
||||
if (!child.childCharacterId) {
|
||||
console.error('Child character ID missing');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await apiClient.post('/api/falukant/family/set-heir', {
|
||||
childCharacterId: child.childCharacterId
|
||||
});
|
||||
await this.loadFamilyData();
|
||||
this.$root.$refs.messageDialog?.open('tr:falukant.family.children.heirSetSuccess');
|
||||
} catch (error) {
|
||||
console.error('Error setting heir:', error);
|
||||
this.$root.$refs.errorDialog?.open('tr:falukant.family.children.heirSetError');
|
||||
}
|
||||
},
|
||||
|
||||
formatCost(value) {
|
||||
return new Intl.NumberFormat(navigator.language, { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(value);
|
||||
},
|
||||
@@ -457,4 +481,28 @@ h2 {
|
||||
height: 100%;
|
||||
transition: width 0.3s ease, background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.heir-badge {
|
||||
display: inline-block;
|
||||
padding: 4px 8px;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
font-size: 0.9em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.set-heir-button {
|
||||
padding: 4px 8px;
|
||||
background-color: #2196F3;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.set-heir-button:hover {
|
||||
background-color: #1976D2;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user