Allow media upload on previz mode

This commit is contained in:
2022-02-25 14:29:36 +01:00
parent 3ba548aa36
commit e640b9e49f
8 changed files with 22 additions and 13 deletions

View File

@@ -102,15 +102,15 @@ class Media extends PhpObject {
return $this->getMediasInfo($this->iMediaId);
}
public function isProjectModeValid() {
return ($this->oProject->getMode() == Project::MODE_BLOG);
public function isProjectEditable() {
return $this->oProject->isEditable();
}
public function addMedia($sMediaName, $sMethod='upload') {
$sError = '';
$asParams = array();
if(!$this->isProjectModeValid() && $sMethod!='sync') {
$sError = 'upload_wrong_mode';
if(!$this->isProjectEditable() && $sMethod!='sync') {
$sError = 'upload_mode_archived';
$asParams[] = $this->oProject->getProjectCodeName();
}
elseif($this->oDb->pingValue(self::MEDIA_TABLE, array('filename'=>$sMediaName)) && $sMethod!='sync') {

View File

@@ -138,6 +138,7 @@ class Project extends PhpObject {
case 1: $asProject['mode'] = self::MODE_BLOG; break;
case 2: $asProject['mode'] = self::MODE_HISTO; break;
}
$asProject['editable'] = $this->isModeEditable($asProject['mode']);
if($sCodeName != '' && !Converter::isGeoJsonValid($sCodeName)) Converter::convertToGeoJson($sCodeName);
@@ -212,4 +213,12 @@ class Project extends PhpObject {
return $asResult;
}
public function isEditable() {
return self::isModeEditable($this->getMode());
}
static public function isModeEditable($sMode) {
return ($sMode != self::MODE_HISTO);
}
}

View File

@@ -473,7 +473,7 @@ class Spot extends Main
$asResult = array();
$sDesc = '';
if($this->oProject->getMode() != Project::MODE_HISTO) {
if($this->oProject->isEditable()) {
$asMessageIds = $asMediaIds = array();
//New Feed Items
@@ -593,7 +593,7 @@ class Spot extends Main
$iPostId = 0;
$sDesc = '';
if($this->oProject->getMode() != Project::MODE_HISTO) {
if($this->oProject->isEditable()) {
$asData = array(
Db::getId(Project::PROJ_TABLE) => $this->oProject->getProjectId(),
'name' => mb_strtolower(trim($sName)),

View File

@@ -32,8 +32,8 @@ class Uploader extends UploadHandler
$bResult = parent::validate($uploaded_file, $file, $error, $index, $content_range);
//Check project mode
if(!$this->oMedia->isProjectModeValid()) {
$file->error = $this->get_error_message('upload_wrong_mode', array($this->oMedia->getProjectCodeName()));
if(!$this->oMedia->isProjectEditable()) {
$file->error = $this->get_error_message('upload_mode_archived', array($this->oMedia->getProjectCodeName()));
$bResult = false;
}