mirror of
https://github.com/wekan/wekan.git
synced 2026-01-06 17:48:49 +01:00
Teams/Organizations to Admin Panel. In Progress.
Thanks to xet7 ! Related #802
This commit is contained in:
parent
b7137e617e
commit
9e2093d6ae
8 changed files with 684 additions and 53 deletions
90
models/team.js
Normal file
90
models/team.js
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
Team = new Mongo.Collection('team');
|
||||
|
||||
/**
|
||||
* A Team in Wekan. Organization in Trello.
|
||||
*/
|
||||
Team.attachSchema(
|
||||
new SimpleSchema({
|
||||
_id: {
|
||||
/**
|
||||
* the organization id
|
||||
*/
|
||||
type: Number,
|
||||
optional: true,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
if (this.isInsert && !this.isSet) {
|
||||
return incrementCounter('counters', 'orgId', 1);
|
||||
}
|
||||
},
|
||||
},
|
||||
displayName: {
|
||||
/**
|
||||
* the name to display for the team
|
||||
*/
|
||||
type: String,
|
||||
optional: true,
|
||||
},
|
||||
desc: {
|
||||
/**
|
||||
* the description the team
|
||||
*/
|
||||
type: String,
|
||||
optional: true,
|
||||
max: 190,
|
||||
},
|
||||
name: {
|
||||
/**
|
||||
* short name of the team
|
||||
*/
|
||||
type: String,
|
||||
optional: true,
|
||||
max: 255,
|
||||
},
|
||||
website: {
|
||||
/**
|
||||
* website of the team
|
||||
*/
|
||||
type: String,
|
||||
optional: true,
|
||||
max: 255,
|
||||
},
|
||||
createdAt: {
|
||||
/**
|
||||
* creation date of the team
|
||||
*/
|
||||
type: Date,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
if (this.isInsert) {
|
||||
return new Date();
|
||||
} else if (this.isUpsert) {
|
||||
return { $setOnInsert: new Date() };
|
||||
} else {
|
||||
this.unset();
|
||||
}
|
||||
},
|
||||
},
|
||||
modifiedAt: {
|
||||
type: Date,
|
||||
denyUpdate: false,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
if (this.isInsert || this.isUpsert || this.isUpdate) {
|
||||
return new Date();
|
||||
} else {
|
||||
this.unset();
|
||||
}
|
||||
},
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
if (Meteor.isServer) {
|
||||
// Index for Team name.
|
||||
Meteor.startup(() => {
|
||||
Team._collection._ensureIndex({ name: -1 });
|
||||
});
|
||||
}
|
||||
|
||||
export default Team;
|
||||
Loading…
Add table
Add a link
Reference in a new issue