implemented various task features:

- saving on CTRL+S
- editing of
    - start date
    - due date
    - members
This commit is contained in:
2025-07-26 21:23:58 +02:00
parent 58986a5c59
commit 91aa421ae9
11 changed files with 203 additions and 62 deletions

View File

@@ -43,7 +43,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
var user = users.loadUser(userId);
var member = new Member(user,READ_ONLY);
project.members().put(userId,member);
project.dirtyFields().add(MEMBERS);
project.dirty(MEMBERS);
}
@@ -190,7 +190,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
}
}
members.put(userId,new Member(users.loadUser(userId),permission));
project.dirtyFields().add(MEMBERS);
project.dirty(MEMBERS);
}
}

View File

@@ -218,11 +218,11 @@ CREATE TABLE IF NOT EXISTS {0} ( {1} VARCHAR(255) PRIMARY KEY, {2} VARCHAR(255)
}
} else { // Update
try {
if (prj.dirtyFields().contains(MEMBERS)){
if (prj.isDirty(MEMBERS)){
var query = replaceInto(TABLE_PROJECT_USERS,PROJECT_ID,USER_ID,PERMISSIONS);
for (var member : prj.members().entrySet()) query.values(prj.id(),member.getKey(),member.getValue().permission().code());
query.execute(db).close();
prj.dirtyFields().remove(MEMBERS);
prj.clean(MEMBERS);
}
if (prj.isDirty()){
update(TABLE_PROJECTS).set(NAME,DESCRIPTION,STATUS,COMPANY_ID,SHOW_CLOSED).where(ID,equal(prj.id())).prepare(db)