Project
class Project extendsProject
Properties
$hidden | The attributes hidden from the model's JSON form. | from Project |
Methods
Scope a query to all projects that the user and the volume with the given ID have in common.
The members of this project. Every member has a project-specific
project_role_id
besides their global user role.
The user that created this project. On creation this user is automatically added to the project's users with the 'admin' role by the ProjectObserver.
Adds the user with the given role to this project.
Changes the role of an existing user in this project.
Determines if the user can be removed from the project.
Detaches the volume from this project. Fails if this is the last
project, the volume is attached to, unless force is true
.
Detaches all volumes from this project. Fails if this is the last
project, one of the volumes is attached to, unless force is true
.
The private label trees that authorized this project to use them.
Check if the project has volumes which have some images with GPS coordinates.
Flush the cached information if this project has volumes which have images with GPS coordinates.
The videos of this project.
Details
inProjectat line32
Builder
scopeInCommon(Builder$query,User$user,int$volumeId,array$roles =null)
Scope a query to all projects that the user and the volume with the given ID have in common.
inProjectat line53
BelongsToMany
users()
The members of this project. Every member has a project-specific
project_role_id
besides their global user role.
inProjectat line64
BelongsToMany
admins()
All members of this project with the admin
role.
inProjectat line74
BelongsToMany
editors()
All members of this project with the editor
role.
inProjectat line84
BelongsToMany
guests()
All members of this project with the guest
role.
inProjectat line96
BelongsTo
creator()
The user that created this project. On creation this user is automatically added to the project's users with the 'admin' role by the ProjectObserver.
inProjectat line108
void
addUserId(int$userId,int$roleId)
Adds the user with the given role to this project.
inProjectat line120
void
changeRole(int$userId,int$roleId)
Changes the role of an existing user in this project.
inProjectat line131
bool
userCanBeRemoved(int$userId)
Determines if the user can be removed from the project.
inProjectat line142
bool
removeUserId(int$userId)
Removes the user by ID from this project.
inProjectat line156
BelongsToMany
volumes()
The volumes of this project.
inProjectat line168
void
addVolumeId(int$id)deprecated
deprecated
Adds a volume to this project if it wasn't already.
inProjectat line183
removeVolume(Volume$volume,bool$force =false)
Detaches the volume from this project. Fails if this is the last
project, the volume is attached to, unless force is true
.
inProjectat line213
removeAllVolumes(bool$force =false)
Detaches all volumes from this project. Fails if this is the last
project, one of the volumes is attached to, unless force is true
.
inProjectat line236
BelongsToMany
labelTrees()
The label trees, this project is using.
inProjectat line246
BelongsToMany
authorizedLabelTrees()
The private label trees that authorized this project to use them.
inProjectat line256
string
getThumbnailUrlAttribute()
URL to a unique thumbnail image for this project.
inProjectat line283
bool
hasGeoInfo()
Check if the project has volumes which have some images with GPS coordinates.
inProjectat line301
flushGeoInfoCache()
Flush the cached information if this project has volumes which have images with GPS coordinates.
at line14
HasMany
videos()
The videos of this project.