Commit 9686c402 by Őry Máté

Merge branch 'feature-userguide' into 'master'

Feature Userguide

fixes #178
🚧 🚧 🚧
parents fec75c1e d69e16ca
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
# flake8: noqa # flake8: noqa
from os import environ from os import environ
from os.path import (abspath, basename, dirname, join, normpath, isfile, from os.path import (abspath, basename, dirname, join, normpath, isfile,
expanduser) exists, expanduser)
from sys import path from sys import path
from subprocess import check_output from subprocess import check_output
from uuid import getnode from uuid import getnode
...@@ -161,6 +161,10 @@ STATICFILES_FINDERS = ( ...@@ -161,6 +161,10 @@ STATICFILES_FINDERS = (
) )
########## END STATIC FILE CONFIGURATION ########## END STATIC FILE CONFIGURATION
p = join(dirname(SITE_ROOT), 'site-circle/static')
if exists(p):
STATICFILES_DIRS = (p, )
########## SECRET CONFIGURATION ########## SECRET CONFIGURATION
# See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key # See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
...@@ -208,6 +212,7 @@ TEMPLATE_LOADERS = ( ...@@ -208,6 +212,7 @@ TEMPLATE_LOADERS = (
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs
TEMPLATE_DIRS = ( TEMPLATE_DIRS = (
normpath(join(SITE_ROOT, 'templates')), normpath(join(SITE_ROOT, 'templates')),
join(dirname(SITE_ROOT), 'site-circle/templates'),
) )
########## END TEMPLATE CONFIGURATION ########## END TEMPLATE CONFIGURATION
......
...@@ -16,14 +16,14 @@ ...@@ -16,14 +16,14 @@
# with CIRCLE. If not, see <http://www.gnu.org/licenses/>. # with CIRCLE. If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
# from django.views.generic import TemplateView from django.views.generic import TemplateView
from django.contrib import admin from django.contrib import admin
from django.shortcuts import redirect from django.shortcuts import redirect
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from circle.settings.base import get_env_variable from circle.settings.base import get_env_variable
from dashboard.views import circle_login from dashboard.views import circle_login, HelpView
from dashboard.forms import CirclePasswordResetForm, CircleSetPasswordForm from dashboard.forms import CirclePasswordResetForm, CircleSetPasswordForm
admin.autodiscover() admin.autodiscover()
...@@ -57,6 +57,17 @@ urlpatterns = patterns( ...@@ -57,6 +57,17 @@ urlpatterns = patterns(
), ),
url(r'^accounts/login/?$', circle_login, name="accounts.login"), url(r'^accounts/login/?$', circle_login, name="accounts.login"),
url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^accounts/', include('django.contrib.auth.urls')),
url(r'^info/help/$', HelpView.as_view(template_name="info/help.html"),
name="info.help"),
url(r'^info/policy/$',
TemplateView.as_view(template_name="info/policy.html"),
name="info.policy"),
url(r'^info/legal/$',
TemplateView.as_view(template_name="info/legal.html"),
name="info.legal"),
url(r'^info/support/$',
TemplateView.as_view(template_name="info/support.html"),
name="info.support"),
) )
......
...@@ -59,10 +59,10 @@ ...@@ -59,10 +59,10 @@
</div> <!-- /container --> </div> <!-- /container -->
<footer> <footer>
<a href="#">{% trans "Legal notice" %}</a> | <a href="{% url "info.legal" %}">{% trans "Legal notice" %}</a> |
<a href="#">{% trans "Policy" %}</a> | <a href="{% url "info.policy" %}">{% trans "Policy" %}</a> |
<a href="#">{% trans "Help" %}</a> | <a href="{% url "info.help" %}">{% trans "Help" %}</a> |
<a href="#">{% trans "Support" %}</a> <a href="{% url "info.support" %}">{% trans "Support" %}</a>
<span class="pull-right">{{ COMPANY_NAME }}</span> <span class="pull-right">{{ COMPANY_NAME }}</span>
</footer> </footer>
</body> </body>
......
...@@ -3,8 +3,10 @@ ...@@ -3,8 +3,10 @@
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right toolbar"> <div class="pull-right toolbar">
<div class="btn-group"> <div class="btn-group">
<a href="#index-graph-view" data-index-box="vm" class="btn btn-default btn-xs"><i class="fa fa-dashboard"></i></a> <a href="#index-graph-view" data-index-box="vm" class="btn
<a href="#index-list-view" data-index-box="vm" class="btn btn-default btn-xs disabled"><i class="fa fa-list"></i></a> btn-default btn-xs" title="{% trans "summary view" %}"><i class="fa fa-dashboard"></i></a>
<a href="#index-list-view" data-index-box="vm" class="btn
btn-default btn-xs disabled" title="{% trans "list view" %}"><i class="fa fa-list"></i></a>
</div> </div>
<span class="btn btn-default btn-xs infobtn" title="{% trans "List of your current virtual machines. Favourited ones are ahead of others." %}"><i class="fa fa-info-circle"></i></span> <span class="btn btn-default btn-xs infobtn" title="{% trans "List of your current virtual machines. Favourited ones are ahead of others." %}"><i class="fa fa-info-circle"></i></span>
</div> </div>
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
{% block question %} {% block question %}
<p> <p>
{% blocktrans with obj=object url=object.get_absolute_url op=op.name %} {% blocktrans with obj=object url=object.get_absolute_url op=op.name %}
Do you want to do the following operation on <a href="{{url}}">{{obj}}</a>: Do you want to perform the following operation on
<strong>{{op}}</strong>? <a data-dismiss="modal" href="{{url}}">{{obj}}</a>: <strong>{{op}}</strong>?
{% endblocktrans %} {% endblocktrans %}
</p> </p>
<p class="text-info">{{op.name}}: {{op.description}}</p> <p class="text-info">{{op.description}}</p>
{% endblock %} {% endblock %}
<form method="POST" action="{{url}}">{% csrf_token %} <form method="POST" action="{{url}}">{% csrf_token %}
{% block formfields %} {% block formfields %}
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
<ol> <ol>
<li>{% trans "Modify the virtual machine to suit your needs <strong>(optional)</strong>" %} <li>{% trans "Modify the virtual machine to suit your needs <strong>(optional)</strong>" %}
<ul> <ul>
<li>{% trans "Change the name and description" %}</li> <li>{% trans "Change the description" %}</li>
<li>{% trans "Change the resources (CPU and RAM)" %}</li> <li>{% trans "Change resources (CPU and RAM)" %}</li>
<li>{% trans "Attach or detach disks" %}</li> <li>{% trans "Attach or detach disks" %}</li>
<li>{% trans "Add or remove network interfaces" %}</li> <li>{% trans "Add or remove network interfaces" %}</li>
</ul> </ul>
......
...@@ -3144,6 +3144,15 @@ class UserKeyCreate(LoginRequiredMixin, SuccessMessageMixin, CreateView): ...@@ -3144,6 +3144,15 @@ class UserKeyCreate(LoginRequiredMixin, SuccessMessageMixin, CreateView):
return kwargs return kwargs
class HelpView(TemplateView):
def get_context_data(self, *args, **kwargs):
ctx = super(HelpView, self).get_context_data(*args, **kwargs)
ctx.update({"saml": hasattr(settings, "SAML_CONFIG"),
"store": settings.STORE_URL})
return ctx
class StoreList(LoginRequiredMixin, TemplateView): class StoreList(LoginRequiredMixin, TemplateView):
template_name = "dashboard/store/list.html" template_name = "dashboard/store/list.html"
......
...@@ -6,8 +6,8 @@ msgid "" ...@@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-31 13:20+0200\n" "POT-Creation-Date: 2014-08-01 19:36+0200\n"
"PO-Revision-Date: 2014-07-31 14:30+0200\n" "PO-Revision-Date: 2014-08-01 21:03+0200\n"
"Last-Translator: Mate Ory <ory.mate@ik.bme.hu>\n" "Last-Translator: Mate Ory <ory.mate@ik.bme.hu>\n"
"Language-Team: Hungarian <cloud@ik.bme.hu>\n" "Language-Team: Hungarian <cloud@ik.bme.hu>\n"
"Language: en_US\n" "Language: en_US\n"
...@@ -41,6 +41,15 @@ msgstr "Nincs jogosultsága a profil módosításához." ...@@ -41,6 +41,15 @@ msgstr "Nincs jogosultsága a profil módosításához."
msgid "Unknown error." msgid "Unknown error."
msgstr "Ismeretlen hiba." msgstr "Ismeretlen hiba."
#: dashboard/static/dashboard/vm-create.js:108
#: dashboard/static/dashboard/vm-create.js:171
msgid "No more networks."
msgstr "Nincs több hálózat."
#: dashboard/static/dashboard/vm-create.js:140
msgid "Not added to any network"
msgstr "Nincs hálózathoz adva"
#: dashboard/static/dashboard/vm-tour.js:20 #: dashboard/static/dashboard/vm-tour.js:20
#: static_collected/dashboard/vm-tour.js:20 #: static_collected/dashboard/vm-tour.js:20
msgid "Prev" msgid "Prev"
...@@ -419,3 +428,5 @@ msgstr "Tegnap" ...@@ -419,3 +428,5 @@ msgstr "Tegnap"
#: static_collected/admin/js/admin/DateTimeShortcuts.js:203 #: static_collected/admin/js/admin/DateTimeShortcuts.js:203
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Holnap" msgstr "Holnap"
# end
{% extends "dashboard/base.html" %}
{% load i18n %}
{% block title-page %}{% trans "Legal notice" %}{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<div class="page-header">
<h1>{% trans "Legal notice" %}</h1>
</div>
<div class="panel panel-default">
<div class="panel-body">
{% blocktrans %}
CIRCLE Cloud is a complete and open source cloud solution
that can be deployed with minimal effort on a single computer as well as on a larger cluster.
{% endblocktrans %}
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
{% blocktrans with maintainer=COMPANY_NAME %}
The maintainer of this site is: {{ maintainer }}
{% endblocktrans %}
</div>
</div>
</div>
</div>
{% endblock %}
{% extends "dashboard/base.html" %}
{% load i18n %}
{% block title-page %}{% trans "Policy" %}{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<div class="page-header">
<h1>{% trans "Policy" %} <small>{% trans "terms of usage" %}</small></h1>
</div>
<div class="panel panel-default">
<div class="panel-body">
<p>
<ul>
<li>
{% blocktrans %}
The system cannot be used for illegal activites.
{% endblocktrans %}
</li>
<li>
{% blocktrans %}
Every virtual machine has an expiration date, when this date is reached
the machine will be stopped, if the user doesn't renew the machine
it will be deleted and all data on it will be lost.
{% endblocktrans %}
</li>
<li>
{% blocktrans %}
Running the the virtual machine safely and
updating the operating system is the responsibility of the user.
{% endblocktrans %}
</li>
</ul>
</p>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
{% blocktrans %}
You can connect to the running virtual machines the usual way: for Windows machines
this mean RDP (remote desktop), Linux machines can be accessed either via SSH
or NoMachine NX (GUI).
{% endblocktrans %}
{# Installing the CIRCLE Desktop Client makes connecting easier. #}
</div>
</div>
</div>
</div>
{% endblock %}
{% extends "dashboard/base.html" %}
{% load i18n %}
{% block title-page %}{% trans "Support" %}{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<div class="page-header">
<h1>{% trans "Support" %}</h1>
</div>
<div class="panel panel-default">
<div class="panel-body">
{% blocktrans %}
CIRCLE Cloud is an open source cloud solution. If you notice any bugs or
you have an idea for a feature please contact the maintainer of the site.
{% endblocktrans %}
</div>
</div>
</div>
</div>
{% endblock %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment