Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
See what's new at GitLab
4
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
M
maintenanceMode
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SondagesPro
coreAndTools
maintenanceMode
Commits
c3f062e9
Commit
c3f062e9
authored
Jul 16, 2019
by
Chenu Denis
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[feature] Add a flash alert if renderMessage is not activated
parent
f509face
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
8 deletions
+46
-8
maintenanceMode.php
maintenanceMode.php
+46
-8
No files found.
maintenanceMode.php
View file @
c3f062e9
...
...
@@ -6,7 +6,7 @@
* @copyright 2017-2019 Denis Chenu <http://www.sondages.pro>
* @license AGPL v3
* @version 1.
3.1
* @version 1.
4.0
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
...
...
@@ -64,17 +64,14 @@ class maintenanceMode extends PluginBase {
if
(
intval
(
App
()
->
getConfig
(
'versionnumber'
))
<
3
)
{
return
;
}
$oRenderMessage
=
Plugin
::
model
()
->
find
(
"name=:name"
,
array
(
":name"
=>
'renderMessage'
));
if
(
!
$oRenderMessage
)
{
$this
->
log
(
"You must download and activate renderMessage plugin"
,
'error'
);
return
;
}
elseif
(
!
$oRenderMessage
->
active
)
{
$this
->
log
(
"You must activate renderMessage plugin"
,
'error'
);
if
(
!
$oRenderMessage
||
!
$oRenderMessage
->
active
)
{
$this
->
subscribe
(
'beforeControllerAction'
,
'addFlashMessage'
);
return
;
}
$this
->
subscribe
(
'beforeControllerAction'
);
$this
->
subscribe
(
'beforeSurveyPage'
,
'beforeControllerAction'
);
/* disable login for admin */
$this
->
subscribe
(
'newUserSession'
);
...
...
@@ -100,7 +97,7 @@ class maintenanceMode extends PluginBase {
}
}
}
/* @see plugin event */
public
function
getPluginTwigPath
()
{
...
...
@@ -108,6 +105,22 @@ class maintenanceMode extends PluginBase {
$this
->
getEvent
()
->
append
(
'add'
,
array
(
$viewPath
));
}
/**
* See plugin event
* Add flash message for admin
*/
public
function
afterPluginLoad
()
{
if
(
Yii
::
app
()
->
getController
()
->
getId
()
==
"admin"
&&
Permission
::
model
()
->
hasGlobalPermission
(
"settings"
,
"update"
)
)
{
$oRenderMessage
=
Plugin
::
model
()
->
find
(
"name=:name"
,
array
(
":name"
=>
'renderMessage'
));
if
(
!
$oRenderMessage
)
{
App
()
->
setFlashMessage
(
$this
->
gT
(
"You must download and activate renderMessage plugin"
),
'error'
);
return
;
}
elseif
(
!
$oRenderMessage
->
active
)
{
App
()
->
setFlashMessage
(
$this
->
gT
(
"You must activate renderMessage plugin"
),
'error'
);
return
;
}
}
}
/**
* fix some settings
* @see PluginBase
...
...
@@ -207,6 +220,31 @@ class maintenanceMode extends PluginBase {
}
/**
* If admin part : add the warning message for admin user with settings update allaowed
*/
public
function
addFlashMessage
()
{
if
(
Yii
::
app
()
->
getRequest
()
->
getIsAjaxRequest
())
{
/* Don't add multiple times, this disable it in soma page, but just need to see it one time */
return
;
}
$addFlash
=
$this
->
getEvent
()
->
get
(
"controller"
)
==
"admin"
&&
Permission
::
model
()
->
hasGlobalPermission
(
"settings"
,
"update"
);
$oRenderMessage
=
Plugin
::
model
()
->
find
(
"name=:name"
,
array
(
":name"
=>
'renderMessage'
));
if
(
!
$oRenderMessage
)
{
$this
->
log
(
"You must download and activate renderMessage plugin"
,
'error'
);
if
(
$addFlash
)
{
App
()
->
setFlashMessage
(
$this
->
gT
(
"You have maintenanceMode plugin activated : it requires the plugin renderMessage."
),
"error"
);
}
return
;
}
if
(
!
$oRenderMessage
->
active
)
{
$this
->
log
(
"You must activate renderMessage plugin"
,
'error'
);
if
(
$addFlash
)
{
App
()
->
setFlashMessage
(
$this
->
gT
(
"You have maintenanceMode plugin activated : it requires the plugin renderMessage activated."
),
"error"
);
}
}
}
/*
* If not admin part : redirect to specific page or show a message
*/
...
...
Chenu Denis
@Sondages.Pro
mentioned in merge request
!3 (closed)
·
Jul 16, 2019
mentioned in merge request
!3 (closed)
mentioned in merge request !3
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment