Commit a033fc48 authored by Georgios D. Tsoukalas's avatar Georgios D. Tsoukalas
Browse files

update project creation form texts

parent ab2a0f97
......@@ -627,41 +627,128 @@ class ExtendedSetPasswordForm(SetPasswordForm):
return super(ExtendedSetPasswordForm, self).save(commit=commit)
app_name_label = "Project name"
app_name_placeholder = _("myproject.mylab.ntua.gr")
app_name_validator = validators.RegexValidator(
DOMAIN_VALUE_REGEX,
_(astakos_messages.DOMAIN_VALUE_ERR),
'invalid')
app_name_help = _("""
The Project's name should be in a domain format.
The domain shouldn't neccessarily exist in the real
world but is helpful to imply a structure.
e.g.: myproject.mylab.ntua.gr or
myservice.myteam.myorganization""")
app_name_widget = forms.TextInput(
attrs={'placeholder': app_name_placeholder})
app_home_label = "Homepage URL"
app_home_placeholder = 'http://myteam.myinstitution.org/myproject/'
app_home_help = _("""
URL pointing at your project's site.
e.g.: http://myteam.myinstitution.org/myproject.
Leave blank if there is no website.""")
app_home_widget = forms.TextInput(
attrs={'placeholder': app_home_placeholder})
app_desc_label = _("Description")
app_desc_help = _("""
Please provide a short but descriptive abstract of your Project,
so that anyone searching can quickly understand
what this Project is about.""")
app_comment_label = _("Comments for review (private)")
app_comment_help = _("""
Write down any comments you may have for the reviewer
of this application (e.g. background and rationale to
support your request).
The comments are strictly for the review process
and will not be published.""")
app_start_date_label = _("Start date")
app_start_date_help = _("""
Provide a date when your need your project to be created,
and members to be able to join and get resources.
This date is only a hint to help prioritize reviews.""")
app_end_date_label = _("Termination date")
app_end_date_help = _("""
At this date, the project will be automatically terminated
and its resource grants revoked from all members.
Unless you know otherwise,
it is best to start with a conservative estimation.
You can always re-apply for an extension, if you need.""")
join_policy_label = _("Joining policy")
leave_policy_label = _("Leaving policy")
max_members_label = _("Maximum member count")
max_members_help = _("""
Specify the maximum number of members this project may have,
including the owner. Beyond this number, no new members
may join the project and be granted the project resources.
Unless you certainly for otherwise,
it is best to start with a conservative limit.
You can always request a raise when you need it.""")
join_policies = PROJECT_MEMBER_JOIN_POLICIES.iteritems()
leave_policies = PROJECT_MEMBER_LEAVE_POLICIES.iteritems()
class ProjectApplicationForm(forms.ModelForm):
name = forms.CharField(
validators=[validators.RegexValidator(
DOMAIN_VALUE_REGEX,
_(astakos_messages.DOMAIN_VALUE_ERR),
'invalid'
)],
widget=forms.TextInput(
attrs={'placeholder': 'myproject.mylab.ntua.gr'}),
help_text="""The Project's name should be in a domain format.
The domain shouldn't neccessarily exist in the real
world but is helpful to imply a structure.
e.g.: myproject.mylab.ntua.gr or
myservice.myteam.myorganization"""
)
label = app_name_label,
help_text = app_name_help,
widget = app_name_widget,
validators = [app_name_validator])
homepage = forms.URLField(
label="Homepage Url",
help_text="""This should be a URL pointing at your project's site.
e.g.: http://myproject.com""",
widget=forms.TextInput(attrs={'placeholder': 'http://myproject.com'}),
label = app_home_label,
help_text = app_home_help,
widget = app_home_widget,
required = False)
description = forms.CharField(
label = app_desc_label,
help_text = app_desc_help,
widget = forms.Textarea,
required = False)
comments = forms.CharField(
label = app_comment_label,
help_text = app_comment_help,
widget = forms.Textarea,
required = False)
start_date = forms.DateTimeField(
label = app_start_date_label,
help_text = app_start_date_help,
required = False)
end_date = forms.DateTimeField(
label = app_end_date_label,
help_text = app_end_date_help)
member_join_policy = forms.ChoiceField(
label = join_policy_label,
choices = join_policies)
required=False
)
comments = forms.CharField(widget=forms.Textarea, required=False)
member_join_policy = forms.ChoiceField(
choices=PROJECT_MEMBER_JOIN_POLICIES.iteritems())
member_leave_policy = forms.ChoiceField(
choices=PROJECT_MEMBER_LEAVE_POLICIES.iteritems())
label = leave_policy_label,
choices = leave_policies)
limit_on_members_number = forms.IntegerField(
label = max_members_label,
help_text = max_members_help,
required = False)
class Meta:
model = ProjectApplication
exclude = (
'project',
'resource_grants', 'id', 'applicant', 'owner',
'precursor_application', 'state', 'issue_date')
#include = ( 'name', 'homepage', 'description',
# 'start_date', 'end_date', 'comments')
def __init__(self, *args, **kwargs):
self.precursor_application = kwargs.get('instance')
......
......@@ -1152,20 +1152,14 @@ class ProjectApplication(models.Model):
blank=True,
db_index=True)
name = models.CharField(max_length=80,
help_text=_("The Project's name should be in a domain format. The domain shouldn't neccessarily exist in the real world but is helpful to imply a structure. e.g.: myproject.mylab.ntua.gr or myservice.myteam.myorganization"))
homepage = models.URLField(max_length=255,
null=True,
blank=True,help_text=_("This should be a URL pointing at your project's site. e.g.: http://myproject.com ",))
description = models.TextField(null=True,
blank=True,
help_text=_("Please provide a short but descriptive abstract of your Project, so that anyone searching can quickly understand what this Project is about. "))
start_date = models.DateTimeField(help_text=_("Here you specify the date you want your Project to start granting its resources. Its members will get the resources coming from this Project on this exact date."))
end_date = models.DateTimeField(help_text=_("Here you specify the date you want your Project to cease. This means that after this date all members will no longer be able to allocate resources from this Project. "))
name = models.CharField(max_length=80)
homepage = models.URLField(max_length=255, null=True)
description = models.TextField(null=True, blank=True)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
member_join_policy = models.IntegerField()
member_leave_policy = models.IntegerField()
limit_on_members_number = models.PositiveIntegerField(null=True,
blank=True,help_text=_("Here you specify the number of members this Project is going to have. This means that this number of people will be granted the resources you will specify in the next step. This can be '1' if you are the only one wanting to get resources. "))
limit_on_members_number = models.PositiveIntegerField(null=True)
resource_grants = models.ManyToManyField(
Resource,
null=True,
......
......@@ -4,14 +4,15 @@
 
</div>
<div class="lt">
<p>
{% blocktrans %}
~okeanos gives the opportunity to Greek Academic or Research Organizations/Institutions/Faculty
to run their own projects remotely on virtual infrastructure. Simple, fast and with minimal to no cost at all.
{% endblocktrans %}
~okeanos gives the opportunity to
Greek Academic or Research Organizations/Institutions/Faculty
to run their own projects remotely on virtual infrastructure.
Simple, fast, and with minimal to no cost at all.
{% blocktrans %}
</p>
<p><a href="{% url how_it_works %}" style="font-size:1.154em;">{% trans "How it works &gt;" %}</a></p>
<p><a href="{% url how_it_works %}" style="font-size:1.154em;">How it works ></a></p>
</div>
</div>
......@@ -22,15 +23,15 @@
<li class="create">
<div>
<div class="wrap">
<p class="centered"><a href="{% url project_add %}"><img alt="THINK ABOUT IT" src="/static/im/images/create.png"></a></p>
<p class="txt">
{% blocktrans %}
Create a new Project in seconds.
Specify how many members it will have, which and how many virtual
resources it will provide to its members. Describe its purpose.
Submit your request and if accepted, you and your colleagues are ready to deploy!<br><br> </p>
Create a new Project. Name it, describe its purpose,
choose virtual resources to be granted to members, and submit.
Your application will be reviewed, and if accepted,
you and your colleagues are ready to deploy!<br/><br/>
{% endblocktrans %}
</p>
<p><a href="{% url project_add %}">create a project ></a></p>
</div>
</div>
......@@ -41,10 +42,13 @@
<p class="centered"><a href="{% url project_search %}"><img alt="THINK ABOUT IT" src="/static/im/images/join.png"></a></p>
<p class="txt">
{% blocktrans %}
Become a member of an existing Project and instantly gain access to the resources
it has to offer you. Search for open Projects and join for free. Contact the closed
Projects administrators, if you think they will accept you. In two words: try to Join now. </p>
Request to be a member of an existing Project
and instantly gain access to the resources it has to offer you.
Search for public Projects, or submit a join request to a private Project,
if you think its administrators will accept you.
In short: try to Join now.
{% endblocktrans %}
</p>
<p><a href="{% url project_search %}">join a project ></a></p>
</div>
</div>
......
......@@ -18,7 +18,9 @@
1. PROJECT DETAILS
<span class="info">
<em>more info</em>
<span> To create a new Project, first enter the following required fields. The information you enter will be visible to all ~okeanos users. </span>
<span> To create a new Project, first enter the following required fields.
The information you enter (except <em>Comments for review)</em>)
will be visible to all ~okeanos users. </span>
</span>
</legend>
{% for field in form %}
......
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 to comment