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); return $this->getMediasInfo($this->iMediaId);
} }
public function isProjectModeValid() { public function isProjectEditable() {
return ($this->oProject->getMode() == Project::MODE_BLOG); return $this->oProject->isEditable();
} }
public function addMedia($sMediaName, $sMethod='upload') { public function addMedia($sMediaName, $sMethod='upload') {
$sError = ''; $sError = '';
$asParams = array(); $asParams = array();
if(!$this->isProjectModeValid() && $sMethod!='sync') { if(!$this->isProjectEditable() && $sMethod!='sync') {
$sError = 'upload_wrong_mode'; $sError = 'upload_mode_archived';
$asParams[] = $this->oProject->getProjectCodeName(); $asParams[] = $this->oProject->getProjectCodeName();
} }
elseif($this->oDb->pingValue(self::MEDIA_TABLE, array('filename'=>$sMediaName)) && $sMethod!='sync') { 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 1: $asProject['mode'] = self::MODE_BLOG; break;
case 2: $asProject['mode'] = self::MODE_HISTO; break; case 2: $asProject['mode'] = self::MODE_HISTO; break;
} }
$asProject['editable'] = $this->isModeEditable($asProject['mode']);
if($sCodeName != '' && !Converter::isGeoJsonValid($sCodeName)) Converter::convertToGeoJson($sCodeName); if($sCodeName != '' && !Converter::isGeoJsonValid($sCodeName)) Converter::convertToGeoJson($sCodeName);
@@ -212,4 +213,12 @@ class Project extends PhpObject {
return $asResult; 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(); $asResult = array();
$sDesc = ''; $sDesc = '';
if($this->oProject->getMode() != Project::MODE_HISTO) { if($this->oProject->isEditable()) {
$asMessageIds = $asMediaIds = array(); $asMessageIds = $asMediaIds = array();
//New Feed Items //New Feed Items
@@ -593,7 +593,7 @@ class Spot extends Main
$iPostId = 0; $iPostId = 0;
$sDesc = ''; $sDesc = '';
if($this->oProject->getMode() != Project::MODE_HISTO) { if($this->oProject->isEditable()) {
$asData = array( $asData = array(
Db::getId(Project::PROJ_TABLE) => $this->oProject->getProjectId(), Db::getId(Project::PROJ_TABLE) => $this->oProject->getProjectId(),
'name' => mb_strtolower(trim($sName)), '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); $bResult = parent::validate($uploaded_file, $file, $error, $index, $content_range);
//Check project mode //Check project mode
if(!$this->oMedia->isProjectModeValid()) { if(!$this->oMedia->isProjectEditable()) {
$file->error = $this->get_error_message('upload_wrong_mode', array($this->oMedia->getProjectCodeName())); $file->error = $this->get_error_message('upload_mode_archived', array($this->oMedia->getProjectCodeName()));
$bResult = false; $bResult = false;
} }

View File

@@ -17,7 +17,7 @@ track_hitchhiking = Hitchhiking
track_download = Download GPX Track track_download = Download GPX Track
upload_title = Picture & Video Uploads upload_title = Picture & Video Uploads
upload_wrong_mode = Project "$0" is not in blog mode. No upload allowed upload_mode_archived= Project "$0" is archived. No upload allowed
upload_success = $0 uploaded successfully upload_success = $0 uploaded successfully
upload_media_exist = Picture $0 already exists upload_media_exist = Picture $0 already exists

View File

@@ -17,7 +17,7 @@ track_hitchhiking = Autostop
track_download = Descarga la ruta GPX track_download = Descarga la ruta GPX
upload_title = Cargar fotos y videos upload_title = Cargar fotos y videos
upload_wrong_mode = El proyecto "$0" no está en modo blog. No se puede cargar upload_mode_archived= El proyecto "$0" esta archivado. No se puede cargar
upload_success = $0 ha sido subido upload_success = $0 ha sido subido
upload_media_exist = La imagen $0 ya existe upload_media_exist = La imagen $0 ya existe

View File

@@ -17,7 +17,7 @@ track_hitchhiking = Hors rando
track_download = Télécharger la trace GPX track_download = Télécharger la trace GPX
upload_title = Uploader photos & vidéos upload_title = Uploader photos & vidéos
upload_wrong_mode = Le projet "$0" n'est pas en mode blog. Aucun upload possible upload_mode_archived= Le projet "$0" a été archivé. Aucun upload possible
upload_success = $0 a été uploadé upload_success = $0 a été uploadé
upload_media_exist = l'image $0 existe déjà upload_media_exist = l'image $0 existe déjà

View File

@@ -12,7 +12,7 @@
oSpot.pageInit = function(asHash) { oSpot.pageInit = function(asHash) {
var asProject = self.vars(['projects', self.vars('default_project_codename')]); var asProject = self.vars(['projects', self.vars('default_project_codename')]);
self.tmp('status-box', $('#status')); self.tmp('status-box', $('#status'));
if(asProject.mode == self.consts.modes.blog) { if(asProject.editable) {
$('#fileupload') $('#fileupload')
.attr('data-url', self.getActionLink('upload')) .attr('data-url', self.getActionLink('upload'))
.fileupload({ .fileupload({
@@ -36,7 +36,7 @@ oSpot.pageInit = function(asHash) {
} }
}); });
} }
else addStatus(self.lang('upload_wrong_mode', [asProject.name]), true); else addStatus(self.lang('upload_mode_archived', [asProject.name]), true);
}; };
function addCommentBox(iMediaId, sThumbnailPath) { function addCommentBox(iMediaId, sThumbnailPath) {