Revision 003d8fcf

b/snf-astakos-app/astakos/im/api/__init__.py
123 123
        append(item(
124 124
               url=absolute(request, reverse('index')),
125 125
               name=user.email))
126
        append(item(url=absolute(request, reverse('landing')),
127
               name="Welcome"))
126 128
        append(item(url=absolute(request, reverse('edit_profile')),
127
               name="My account"))
129
               name="Profile"))
128 130
        if with_extra_links:
129 131
            if EMAILCHANGE_ENABLED:
130 132
                append(item(
b/snf-astakos-app/astakos/im/forms.py
986 986

  
987 987

  
988 988
    def _init_extra_form_fields(self):
989
        
990

  
989 991
        if self.email_change:
990 992
            self.fields.update(self.email_change_form.fields)
991 993
            self.fields['new_email_address'].required = False
......
993 995
        if self.password_change:
994 996
            self.fields.update(self.password_change_form.fields)
995 997
            self.fields['old_password'].required = False
998
            self.fields['old_password'].label = _('Password')
999
            self.fields['old_password'].initial = 'skata'
996 1000
            self.fields['new_password1'].required = False
997 1001
            self.fields['new_password2'].required = False
998 1002

  
b/snf-astakos-app/astakos/im/static/im/cloudbar/cloudbar.css
31 31
.cloudbar ul.services li:first-child            { padding:0 5px;}
32 32
.cloudbar ul.services li.active                 { background:#333;}
33 33
.cloudbar ul.services li:hover                  { background:#444; } 
34

  
34
.cloudbar .red-border							{ border:2px solid red; }
35
.cloudbar ul.services li.red-border				{ height:31px; line-height:31px; margin-left:-2px; margin-right:-2px; }
35 36
@media screen and (max-width : 480px) 		{ 
36 37
	.cloudbar .profile 							{ float:none; }	 
37 38
	.cloudbar .services li:first-child			{ position:absolute; left:0; top:0; background:#000}
b/snf-astakos-app/astakos/im/static/im/css/forms.css
212 212

  
213 213
form .refresh p span.extra-img						{ background:url(../images/symbols3.png) 54px -161px; z-index:8; }
214 214
form .refresh p:hover span.extra-img				{ background-position:54px 0px; }
215
form .refresh p:hover span.extra-img:hover			{ background-position:54px -54px; cursor:pointer; }
215
form .refresh p:hover span.extra-img:hover			{ background-position:54px -54px; cursor:pointer; }
216
form .refresh.open p span.extra-img					{ background-position: -33px -161px; }
217
form .refresh.open p:hover span.extra-img			{ background-position: -33px 0px; }
218
form .refresh.open p:hover span.extra-img:hover		{ background-position: -33px -54px; cursor:pointer; }
b/snf-astakos-app/astakos/im/static/im/css/modules.css
546 546
.right-align									{ text-align:right; }			
547 547

  
548 548
.auth_methods h3								{ float:left; width:224px; font-size:1.308em;}
549
.auth_methods ul								{ overflow:hidden; }
549
.auth_methods ul								{ overflow:hidden; padding:0; }
550 550
.auth_methods ul li								{ list-style:none outside none; padding:0; margin:0 0 5px 0; }
551 551
.auth_methods ul li a							{ display:inline-block; height:50px; overflow:hidden; vertical-align:middle; }
552 552
.auth_methods ul li a:hover img					{ margin-top:-174px; }
......
556 556
.auth_methods ul li a:hover + span 				{ display:inline; } 
557 557
.auth_methods .dialog-wrap						{ color:#F24E53; display:none; margin-top:1em; }
558 558
.auth_methods .dialog-wrap .submit				{ min-width:10px; text-transform:uppercase; margin-right:10px; }
559
.auth_methods ul li a.noaction:hover img		{ margin-top:40px }
559
.auth_methods ul li a.noaction:hover img		{ margin-top:-55px }
560 560
.auth_methods ul li a.noaction:hover			{ cursor:default; }
561 561
.auth_methods ul li a.canremove:hover img,
562 562
.auth_methods .assigned ul li.remove a img		{ margin-top:-112px; }
......
565 565
.auth_methods .assigned, 
566 566
.auth_methods .notassigned						{ margin-bottom:40px; }
567 567
.auth_methods .assigned span.details			{ margin-left:10px; color:grey; display:inline-block; max-width:300px;  vertical-align:middle;}
568
						
568
#token-confirm									{ display:none; position:absolute; left:550px; }
569 569
/* login section */
570 570
.login-section {}
571 571
.main-login-method 								{ margin-bottom: 20px;}
......
596 596
.landing-page .dotted							{ padding-bottom:40px; margin-bottom:40px; }
597 597
.landing-page .cyclades a						{ color:#04a0af; }
598 598
.landing-page .dashboard a						{ color:#3780b0; }
599
.landing-page .rt 								{ text-align:center;vertical-align:middle; }
600
 
599
.landing-page .rt 								{ text-align:center;vertical-align:middle; } 
b/snf-astakos-app/astakos/im/static/im/js/auth_methods.js
5 5
    	e.preventDefault(e);
6 6
    	$(this).parent('li').addClass('remove');
7 7
    	$(this).siblings('.dialog-wrap').slideDown('slow');
8
    })  
8
    });  
9 9
    
10 10
    $('.auth_methods .no').click( function(e) {
11 11
    	e.preventDefault(e);
12 12
    	$(this).parents('li').removeClass('remove');
13 13
    	$(this).parents('.dialog-wrap').slideUp('slow');
14
    })  
14
    });  
15
    
15 16
    $('.auth_methods .canremove').hover(
16 17
      function () {
17 18
      	$(this).siblings('span.details').hide();
......
71 72
	
72 73
	
73 74
	
74
	if ($('input#id_change_password:checkbox').attr('checked')) {
75
	if ($('input#id_change_email:checkbox').attr('checked')) {
75 76
		newEmailDiv.show();
76
		
77 77
		$('.form-following #email-span').parents('.form-row').addClass('open');
78 78
	}; 
79 79
	
......
121 121
	// refresh token
122 122
	authTokenDiv.addClass('refresh');
123 123
	$('#token-span').click(function(e){
124
		$(this).parents('.form-row').toggleClass('open');
125
		
126
		var position = $(this).parents('.form-row').position();
127
		$('#token-confirm').css('top', position.top - 10);
128
		$('#token-confirm').toggle();
129
		return false;
130
	});
131
	
132
	$('#token-confirm').click(function(e){
133
		e.preventDefault();
124 134
		renewToken();
135
		$(this).hide();
125 136
	})
126 137
	
127 138
	
b/snf-astakos-app/astakos/im/static/im/js/common.js
23 23
	
24 24
}
25 25

  
26

  
26
function addClassHover(hoverEl, applicableEl){ 
27
	$(hoverEl).hover(
28
      function () {
29
      	 
30
         $(applicableEl).addClass('red-border')
31
      }, 
32
      function () {
33
      	$(applicableEl).removeClass('red-border');
34
    
35
    });
36
}
27 37
//equal heights
28 38
 
29 39
(function($) {
......
253 263
      }
254 264
	}, 100);
255 265
	
256
 
257
	
266
	 // clouds homepage animation
267
	addClassHover('.landing-page .pithos','.cloudbar ul.services li:first');
268
	addClassHover('.landing-page .cyclades','.cloudbar ul.services li:nth-child(2)');
269
	addClassHover('.landing-page .dashboard','.cloudbar .profile')
270
    
258 271
	 
259 272
	    
260 273
});
b/snf-astakos-app/astakos/im/templates/im/landing.html
1
{% extends "im/account_base.html" %}
2

  
3
{% load filters %}
4

  
5
{% block page.body %}
6
<div class="landing-page">
7
	<h2>WELCOME TO OKEANOS</h2>
8
	<div class="two-cols clearfix dotted pithos">
9
		<div class="rt">
10
    		rt
11
		</div>
12
		<div class="lt">
13
 			<a href="">Pithos</a> takes you to the storage service where up to 50 gigs
14
of space is yours.
15

  
16
		</div>
17
	</div>
18
	<div class="two-cols clearfix dotted cyclades">
19
		<div class="rt">
20
    		rt
21
		</div>
22
		<div class="lt">
23
 			<a href="">Cyclades</a> to the compute and network cervice where you can
24
create your own machines and networks.
25

  
26

  
27
		</div>
28
	</div>
29
	<div class="two-cols clearfix dotted dashboard">
30
		<div class="rt">
31
    		rt
32
		</div>
33
		<div class="lt">
34
 			On the right you can accesss your <a href="">dashboard</a> to create
35
projects or change account settings
36

  
37

  
38
		</div>
39
	</div>
40
	<div class="two-cols clearfix dotted cms">
41
		<div class="rt">
42
    		rt
43
		</div>
44
		<div class="lt">
45
 			In case you want more information regarding the service,
46
click on the logo  icon on the far left.
47
 
48

  
49
		</div>
50
	</div>
51
</div> 	
52
{% endblock %}
b/snf-astakos-app/astakos/im/templates/im/profile.html
20 20
    </div>
21 21
</form>
22 22

  
23

  
23
<a id="token-confirm" class="submit" href="#">Refresh your token ></a>
24 24

  
25 25
<div class="full-dotted">
26 26
    {% include "im/profile_auth_methods.html" %}
b/snf-astakos-app/astakos/im/templates/im/profile_auth_methods.html
19 19
                          	<p>Are you sure you want to remove  {{ userauthprovider.settings.get_title_display }} from your Authentication methods? </p>
20 20
 
21 21
							<p>
22
								<a href="{% url remove_auth_provider provider.pk %}" class="submit">Yes</a>
22
								<a href="{% url remove_auth_provider userauthprovider.pk %}" class="submit">Yes</a>
23 23
								<a href="#" class="no submit">No</a>
24 24
							</p>
25 25
                        </div>	
b/snf-astakos-app/astakos/im/templates/im/signup.html
5 5
{% endblock %}
6 6

  
7 7
{% block body.left %}
8
    <img class="pic" src="{{ IM_STATIC_URL }}images/pictures/accounts_3.png" />
8
    <img class="pic" src="{{ IM_STATIC_URL }}images/mailobox.png" />
9 9
{% comment %}{% include "im/services_description.html" %}{% endcomment %}
10 10
{% endblock body.left %}
11 11

  
b/snf-astakos-app/astakos/im/urls.py
43 43
    'astakos.im.views',
44 44
    url(r'^$', 'index', {}, name='index'),
45 45
    url(r'^login/?$', 'index', {}, name='login'),
46
    url(r'^landing/?$', 'landing', {}, name='landing'),
46 47
    url(r'^profile/update_token?$', 'update_token', {}, name='update_token'),
47 48
    url(r'^profile/?$','edit_profile', {}, name='edit_profile'),
48 49
    url(r'^feedback/?$', 'feedback', {}, name='feedback'),
b/snf-astakos-app/astakos/im/views.py
1368 1368
            transaction.commit()
1369 1369
    return redirect(reverse('project_detail', args=(application_id,)))
1370 1370

  
1371

  
1371
def landing(request):
1372
    return render_response(
1373
        'im/landing.html',
1374
        context_instance=get_context(request))

Also available in: Unified diff