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;
}

View File

@@ -17,7 +17,7 @@ track_hitchhiking = Hitchhiking
track_download = Download GPX Track
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_media_exist = Picture $0 already exists

View File

@@ -17,7 +17,7 @@ track_hitchhiking = Autostop
track_download = Descarga la ruta GPX
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_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
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_media_exist = l'image $0 existe déjà

View File

@@ -12,7 +12,7 @@
oSpot.pageInit = function(asHash) {
var asProject = self.vars(['projects', self.vars('default_project_codename')]);
self.tmp('status-box', $('#status'));
if(asProject.mode == self.consts.modes.blog) {
if(asProject.editable) {
$('#fileupload')
.attr('data-url', self.getActionLink('upload'))
.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) {