2015-04-09 14:32:10 +00:00
|
|
|
import textwrap
|
|
|
|
|
2015-03-04 21:06:16 +00:00
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
|
2015-04-05 18:02:36 +00:00
|
|
|
from orchestra.contrib.orchestration import ServiceController, replace
|
2015-03-04 21:06:16 +00:00
|
|
|
|
2016-03-08 10:16:49 +00:00
|
|
|
from .php import PHPController
|
2015-03-04 21:06:16 +00:00
|
|
|
|
|
|
|
|
2016-03-08 10:16:49 +00:00
|
|
|
class SymbolicLinkController(PHPController, ServiceController):
|
2015-04-23 19:46:23 +00:00
|
|
|
"""
|
2016-03-08 10:16:49 +00:00
|
|
|
Same as PHPController but allows you to have the webapps on a directory diferent than the webapps dir.
|
2015-04-23 19:46:23 +00:00
|
|
|
"""
|
2015-03-04 21:06:16 +00:00
|
|
|
verbose_name = _("Symbolic link webapp")
|
|
|
|
model = 'webapps.WebApp'
|
|
|
|
default_route_match = "webapp.type == 'symbolic-link'"
|
|
|
|
|
2015-04-09 14:32:10 +00:00
|
|
|
def create_webapp_dir(self, context):
|
|
|
|
self.append(textwrap.dedent("""\
|
|
|
|
if [[ ! -e %(app_path)s ]]; then
|
|
|
|
ln -s '%(link_path)s' %(app_path)s
|
|
|
|
fi
|
|
|
|
chown -h %(user)s:%(group)s %(app_path)s
|
|
|
|
""") % context
|
|
|
|
)
|
2015-03-04 21:06:16 +00:00
|
|
|
|
2015-04-09 14:32:10 +00:00
|
|
|
def set_under_construction(self, context):
|
|
|
|
pass
|
2015-03-04 21:06:16 +00:00
|
|
|
|
|
|
|
def get_context(self, webapp):
|
2016-03-08 10:16:49 +00:00
|
|
|
context = super(SymbolicLinkController, self).get_context(webapp)
|
2015-03-04 21:06:16 +00:00
|
|
|
context.update({
|
|
|
|
'link_path': webapp.data['path'],
|
|
|
|
})
|
2015-04-05 18:02:36 +00:00
|
|
|
return replace(context, "'", '"')
|