Revision 67be1883
b/snf-astakos-app/astakos/im/forms.py | ||
---|---|---|
604 | 604 |
DOMAIN_VALUE_REGEX, |
605 | 605 |
_(astakos_messages.DOMAIN_VALUE_ERR), 'invalid' |
606 | 606 |
)], |
607 |
widget=forms.TextInput(attrs={'placeholder': 'eg. foo.ece.ntua.gr'}), |
|
608 |
help_text="Name should be in the form of dns" |
|
607 |
widget=forms.TextInput(attrs={'placeholder': 'myproject.mylab.ntua.gr'}), |
|
608 |
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 " |
|
609 |
) |
|
610 |
homepage = forms.URLField( |
|
611 |
label= 'Homepage Url', |
|
612 |
widget=forms.TextInput(attrs={'placeholder': 'http://myproject.com'}), |
|
613 |
help_text="This should be a URL pointing at your project's site. e.g.: http://myproject.com ", |
|
614 |
required=False |
|
615 |
) |
|
616 |
desc = forms.CharField( |
|
617 |
label= 'Description', |
|
618 |
widget=forms.Textarea, |
|
619 |
help_text= "Please provide a short but descriptive abstract of your Project, so that anyone searching can quickly understand what this Project is about. " |
|
620 |
) |
|
621 |
issue_date = forms.DateTimeField( |
|
622 |
label= 'Start date', |
|
623 |
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." |
|
624 |
) |
|
625 |
expiration_date = forms.DateTimeField( |
|
626 |
label= 'End date', |
|
627 |
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. " |
|
609 | 628 |
) |
610 | 629 |
moderation_enabled = forms.BooleanField( |
611 |
help_text="Check if you want to approve members participation manually", |
|
630 |
label= 'Moderated', |
|
631 |
help_text="Select this to approve each member manually, before they become a part of your Project (default). Be sure you know what you are doing, if you uncheck this option. ", |
|
612 | 632 |
required=False, |
613 | 633 |
initial=True |
614 | 634 |
) |
615 | 635 |
max_participants = forms.IntegerField( |
616 |
required=True, min_value=1 |
|
636 |
label='Total number of members', |
|
637 |
required=True, min_value=1, |
|
638 |
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. " |
|
617 | 639 |
) |
618 | 640 |
|
619 | 641 |
class Meta: |
b/snf-astakos-app/astakos/im/models.py | ||
---|---|---|
171 | 171 |
'Creation date', |
172 | 172 |
default=datetime.now() |
173 | 173 |
) |
174 |
issue_date = models.DateTimeField('Issue date', null=True)
|
|
174 |
issue_date = models.DateTimeField('Start date', null=True)
|
|
175 | 175 |
expiration_date = models.DateTimeField( |
176 |
'Expiration date',
|
|
176 |
'End date',
|
|
177 | 177 |
null=True |
178 | 178 |
) |
179 | 179 |
moderation_enabled = models.BooleanField( |
... | ... | |
1011 | 1011 |
extended_user = AstakosUser(user_ptr_id=u.pk) |
1012 | 1012 |
extended_user.__dict__.update(u.__dict__) |
1013 | 1013 |
extended_user.save() |
1014 |
if not extended_user.has_auth_provider('local'): |
|
1015 |
extended_user.add_auth_provider('local') |
|
1014 | 1016 |
except BaseException, e: |
1015 | 1017 |
logger.exception(e) |
1016 | 1018 |
|
... | ... | |
1020 | 1022 |
admins = User.objects.filter(is_superuser=True) |
1021 | 1023 |
for u in admins: |
1022 | 1024 |
create_astakos_user(u) |
1023 |
if not u.has_auth_provider('local'): |
|
1024 |
u.add_auth_provider('local') |
|
1025 | 1025 |
|
1026 | 1026 |
|
1027 | 1027 |
def user_post_save(sender, instance, created, **kwargs): |
b/snf-astakos-app/astakos/im/settings.py | ||
---|---|---|
197 | 197 |
settings, 'ASTAKOS_RESOURCES_PRESENTATION_DATA', { |
198 | 198 |
'groups': { |
199 | 199 |
'compute': { |
200 |
'help_text':'group compute help text',
|
|
200 |
'help_text':'Compute resources (amount of VMs, CPUs, RAM, System disk) ',
|
|
201 | 201 |
'is_abbreviation':False, |
202 | 202 |
'report_desc':'', |
203 | 203 |
'verbose_name':'compute', |
204 | 204 |
}, |
205 | 205 |
'storage': { |
206 |
'help_text':'group storage help text',
|
|
206 |
'help_text':'Storage resources (amount of space to store files on Pithos) ',
|
|
207 | 207 |
'is_abbreviation':False, |
208 | 208 |
'report_desc':'', |
209 | 209 |
'verbose_name':'storage', |
210 | 210 |
}, |
211 |
'network': { |
|
212 |
'help_text':' Network resources (amount of Private Networks) ', |
|
213 |
'is_abbreviation':False, |
|
214 |
'report_desc':'', |
|
215 |
'verbose_name':'network', |
|
216 |
}, |
|
211 | 217 |
}, |
212 | 218 |
'resources': { |
213 | 219 |
'pithos+.diskspace': { |
214 |
'help_text':'resource pithos+.diskspace help text', |
|
220 |
'help_text':'This is the space on Pithos for storing files and VM Images. ', |
|
221 |
'help_text_input_each':'This is the total amount of space on Pithos that will be granted to each user of this Project ', |
|
215 | 222 |
'is_abbreviation':False, |
216 | 223 |
'report_desc':'Pithos+ Diskspace', |
217 | 224 |
'placeholder':'eg. 10GB', |
218 |
'verbose_name':'diskspace',
|
|
225 |
'verbose_name':'Storage Space',
|
|
219 | 226 |
}, |
220 | 227 |
'cyclades.vm': { |
221 |
'help_text':'resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text resource cyclades.vm help text', |
|
228 |
'help_text':'These are the VMs one can create on the Cyclades UI ', |
|
229 |
'help_text_input_each':'This is the total number of VMs that will be granted to each user of this Project ', |
|
222 | 230 |
'is_abbreviation':True, |
223 | 231 |
'report_desc':'Virtual Machines', |
224 | 232 |
'placeholder':'eg. 2', |
225 | 233 |
'verbose_name':'vm', |
226 | 234 |
}, |
227 | 235 |
'cyclades.disk': { |
228 |
'help_text':'resource cyclades.disk help text', |
|
236 |
'help_text':'This is the System Disk that the VMs have that run the OS ', |
|
237 |
'help_text_input_each':"This is the total amount of System Disk that will be granted to each user of this Project (this refers to the total System Disk of all VMs, not each VM's System Disk) ", |
|
229 | 238 |
'is_abbreviation':False, |
230 | 239 |
'report_desc':'Disk', |
231 | 240 |
'placeholder':'eg. 5GB, 2GB etc', |
232 |
'verbose_name':'disk'
|
|
241 |
'verbose_name':'System Disk'
|
|
233 | 242 |
}, |
234 | 243 |
'cyclades.ram': { |
235 |
'help_text':'resource cyclades.ram help text', |
|
244 |
'help_text':'RAM used by VMs ', |
|
245 |
'help_text_input_each':'This is the total amount of RAM that will be granted to each user of this Project (on all VMs) ', |
|
236 | 246 |
'is_abbreviation':True, |
237 | 247 |
'report_desc':'RAM', |
238 | 248 |
'placeholder':'eg. 4GB', |
239 | 249 |
'verbose_name':'ram' |
240 | 250 |
}, |
241 | 251 |
'cyclades.cpu': { |
242 |
'help_text':'resource cyclades.cpu help text', |
|
252 |
'help_text':'CPUs used by VMs ', |
|
253 |
'help_text_input_each':'This is the total number of CPUs that will be granted to each user of this Project (on all VMs) ', |
|
243 | 254 |
'is_abbreviation':True, |
244 | 255 |
'report_desc':'CPUs', |
245 | 256 |
'placeholder':'eg. 1', |
246 | 257 |
'verbose_name':'cpu' |
247 | 258 |
}, |
248 | 259 |
'cyclades.network.private': { |
249 |
'help_text':'resource cyclades.network.private help text', |
|
260 |
'help_text':'These are the Private Networks one can create on the Cyclades UI. ', |
|
261 |
'help_text_input_each':'This is the total number of Private Networks that will be granted to each user of this Project ', |
|
250 | 262 |
'is_abbreviation':False, |
251 | 263 |
'report_desc':'Network', |
252 | 264 |
'placeholder':'eg. 1', |
b/snf-astakos-app/astakos/im/templates/im/astakosgroup_detail.html | ||
---|---|---|
13 | 13 |
<em> |
14 | 14 |
{% if object.is_owner %} |
15 | 15 |
{% if object.is_enabled %} |
16 |
[ ADMINISTRATOR - ACTIVE ]
|
|
16 |
[ ADMINISTRATOR ] |
|
17 | 17 |
{% else %} |
18 |
[ ADMINISTRATOR - PENDING ]
|
|
18 |
[ ADMINISTRATOR ] - ACTIVATION PENDING
|
|
19 | 19 |
{% endif %} |
20 | 20 |
{% else %} |
21 | 21 |
{% if object.is_active_member %} |
22 |
[ ENROLLED - ACTIVE ]
|
|
22 |
[ ENROLLED ] |
|
23 | 23 |
{% else %} |
24 |
[ ENROLLED - PENDING ]
|
|
24 |
[ ACTIVATION PENDING ]
|
|
25 | 25 |
{% endif %} |
26 | 26 |
{% endif %} |
27 | 27 |
</em> |
b/snf-astakos-app/astakos/im/templates/im/astakosgroup_form.html | ||
---|---|---|
10 | 10 |
|
11 | 11 |
<fieldset class="with-info" id="top"> |
12 | 12 |
<legend> |
13 |
1. CREATE GROUP
|
|
13 |
1. CREATE PROJECT
|
|
14 | 14 |
<span class="info"> |
15 | 15 |
<em>more info</em> |
16 |
<span>Fill in the required fields to create a group. Group details will be visible to the users of the group.</span>
|
|
16 |
<span> To create a new Project, first enter the following required fields.<br> The information you enter will be visible to all ~okeanos users. </span>
|
|
17 | 17 |
</span> |
18 | 18 |
</legend> |
19 | 19 |
|
... | ... | |
26 | 26 |
2. ADD RESOURCES |
27 | 27 |
<span class="info"> |
28 | 28 |
<em>more info</em> |
29 |
<span>You need to specify at least one resource</span>
|
|
29 |
<span> Here you add resources to your Project. Each resource you specify here, will be granted to *EACH* user of this Project. So the total resources will be: <Total number of members> * <amount_of_resource> for each resource. </span>
|
|
30 | 30 |
</span> |
31 | 31 |
</legend> |
32 | 32 |
<ul class="clearfix"> |
... | ... | |
78 | 78 |
{% endif %} |
79 | 79 |
/> |
80 | 80 |
<span class="extra-img"> </span> |
81 |
<span class="info"><em>more info</em><span>Leave this field blank if you don't want to specify this resource</span></span>
|
|
81 |
<span class="info"><em>more info</em><span>{{ rdata.help_text_input_each }}</span></span>
|
|
82 | 82 |
<p class="error-msg">Invalid format</p> |
83 | 83 |
</p> |
84 | 84 |
<p class="msg"></p> |
Also available in: Unified diff