- Modified privacywrite query with graphLookup:
$graphLookup: {
from: "projects",
startWith: "$id_main_project",
connectFromField: "id_main_project",
connectToField: "_id",
as: "ris",
restrictSearchWithMatch: { $or: [{ privacyread: server_constants.Privacy.all }, { userId: userId }] }
}
},
{ $match: { "ris.privacyread": { $exists: true } } },
This commit is contained in:
@@ -102,7 +102,7 @@ export default class ProjList extends Vue {
|
||||
|
||||
get CanIModifyPanelPrivacy() {
|
||||
|
||||
if (UserStore.state.userId === this.itemselproj.userId) // If it's the owner
|
||||
if ((UserStore.state.userId === this.itemselproj.userId) || (this.itemselproj.privacywrite === Privacy.all)) // If it's the owner
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -357,7 +357,10 @@ export default class ProjList extends Vue {
|
||||
myobj.id_main_project = this.idProjAtt
|
||||
} else {
|
||||
myobj.typeproj = TypeProj.TYPE_SUBDIR
|
||||
myobj.id_main_project = this.itemproj.id_main_project
|
||||
if (this.itemproj.id_main_project === process.env.PROJECT_ID_MAIN)
|
||||
myobj.id_main_project = this.itemproj._id
|
||||
else
|
||||
myobj.id_main_project = this.itemproj.id_main_project
|
||||
}
|
||||
|
||||
if (!tools.checkIfUserExist(this)) {
|
||||
@@ -392,6 +395,8 @@ export default class ProjList extends Vue {
|
||||
public deselectAllRowstodo(item: ITodo, check, onlythis: boolean = false) {
|
||||
console.log('PROJ-LIST deselectAllRowstodo : ', item)
|
||||
|
||||
return false
|
||||
|
||||
// @ts-ignore
|
||||
for (const i in this.$refs.ctodo.$refs.single) {
|
||||
// @ts-ignore
|
||||
@@ -418,7 +423,7 @@ export default class ProjList extends Vue {
|
||||
}
|
||||
|
||||
public deselectAllRowsproj(item: IProject, check, onlythis: boolean = false) {
|
||||
// console.log('deselectAllRowsproj: ', item)
|
||||
console.log('deselectAllRowsproj: ', item)
|
||||
|
||||
for (const i in this.$refs.singleproject) {
|
||||
|
||||
|
||||
@@ -176,14 +176,14 @@
|
||||
<div class="flex-container clMain">
|
||||
<q-icon class="flex-item flex-icon" name="developer_mode"/>
|
||||
<div class="flex-item itemdata">
|
||||
<CDate :mydate="itemselproj.begin_development"
|
||||
<CDate :readonly="readonly_PanelPrivacy" :mydate="itemselproj.begin_development"
|
||||
@input="itemselproj.begin_development = new Date(arguments[0])"
|
||||
:label="$t('proj.begin_development')">
|
||||
</CDate>
|
||||
</div>
|
||||
<div style="margin: 10px;"></div>
|
||||
<div class="flex-item itemdata">
|
||||
<CDate :mydate="itemselproj.begin_test"
|
||||
<CDate :readonly="readonly_PanelPrivacy" :mydate="itemselproj.begin_test"
|
||||
@input="itemselproj.begin_test = new Date(arguments[0])"
|
||||
:label="$t('proj.begin_test')">
|
||||
</CDate>
|
||||
@@ -192,13 +192,13 @@
|
||||
<div class="flex-container clMain">
|
||||
<q-icon class="flex-item flex-icon" name="outlined_flag"/>
|
||||
<div class="flex-item itemstatus">
|
||||
<q-select rounded outlined v-model="itemselproj.actualphase" :options="selectPhase"
|
||||
<q-select :readonly="readonly_PanelPrivacy" rounded outlined v-model="itemselproj.actualphase" :options="selectPhase"
|
||||
:label="$t('proj.actualphase')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
<q-icon class="flex-item flex-icon" name="outlined_flag"/>
|
||||
<div class="flex-item itemstatus">
|
||||
<q-select rounded outlined v-model="itemselproj.totalphases" :options="selectPhase"
|
||||
<q-select :readonly="readonly_PanelPrivacy" rounded outlined v-model="itemselproj.totalphases" :options="selectPhase"
|
||||
:label="$t('proj.totalphases')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
@@ -208,6 +208,7 @@
|
||||
<q-icon class="flex-item flex-icon" name="watch_later"/>
|
||||
<div class="flex-item itemdata content-center">
|
||||
<q-input
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
ref="input3"
|
||||
type="number"
|
||||
v-model="itemselproj.hoursweeky_plannedtowork"
|
||||
|
||||
Reference in New Issue
Block a user