Skip to content
This repository has been archived by the owner on Sep 18, 2018. It is now read-only.

Commit

Permalink
Fix the copy username and password buttons. Fixes #206
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Hall committed Jan 23, 2014
1 parent f65d66f commit 759fb48
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 41 deletions.
13 changes: 11 additions & 2 deletions ratticweb/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from ConfigParser import RawConfigParser, NoOptionError
import ldap
from django_auth_ldap.config import LDAPSearch
from django.core.urlresolvers import reverse_lazy

config = RawConfigParser()
config.readfp(open('conf/defaults.cfg'))
Expand Down Expand Up @@ -86,9 +87,13 @@ def confgetbool(section, var, default):
'user_sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_otp.middleware.OTPMiddleware',

# Custom Middleware
'account.middleware.StrictAuthentication',
'account.middleware.PasswordExpirer',
'ratticweb.middleware.DisableClientSideCachingMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
Expand Down Expand Up @@ -129,6 +134,10 @@ def confgetbool(section, var, default):
'django.contrib.admin',
'django.contrib.admindocs',
'user_sessions',
'django_otp',
'django_otp.plugins.otp_static',
'django_otp.plugins.otp_totp',
'two_factor',
'south',
'tastypie',
) + LOCAL_APPS
Expand Down Expand Up @@ -176,8 +185,8 @@ def confgetbool(section, var, default):
CRED_ICON_BASEDIR = 'rattic/img/credicons'
CRED_ICON_CLEAR = 'rattic/img/clear.gif'

LOGIN_REDIRECT_URL = RATTIC_ROOT_URL +"cred/list/"
LOGIN_URL = RATTIC_ROOT_URL +"account/login/"
LOGIN_REDIRECT_URL = RATTIC_ROOT_URL + "cred/list/"
LOGIN_URL = RATTIC_ROOT_URL + "account/login/"

AUTH_LDAP_USER_ATTR_MAP = {"email": "mail", }
AUTH_LDAP_USER_FLAGS_BY_GROUP = {}
Expand Down
81 changes: 44 additions & 37 deletions ratticweb/static/rattic/js/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -230,48 +230,55 @@ $(document).ready(function(){
});
}

if ($("#copyuser").length == 1 && FlashDetect.installed){
var clipuser = new ZeroClipboard($("#copyuser"));
clip = new ZeroClipboard()

$('#username').on('mouseover', function(){
getCred(credId, function(data){
$('button#copyuser').css({visibility: "visible"})
}, function(){})
});
/* Mouse over the table cells */
$('#usertd').on('mouseleave', function(){
if (FlashDetect.installed) $('button#copyuser').css({visibility: 'hidden'})
});

$('#usertd').on('mouseleave', function(){
$('button#copyuser').css({visibility: 'hidden'})
});
$('#passtd').on('mouseleave', function(){
if (FlashDetect.installed) $('button#copyclipboard').css({visibility: 'hidden'})
});

clipuser.on('mouseover', function(){
$('button#copyuser').css({visibility: "visible"})
})
}
/* Mouse over the words themseves */
$('#username').on('mouseover', function(){
if (FlashDetect.installed) {
$('button#copyuser').css({visibility: "visible"});
clip.glue($('button#copyuser'));
}
});

if ($("#copyclipboard").length == 1){
var clip = new ZeroClipboard($("#copyclipboard"));

clip.on( 'dataRequested', function ( client, args ) {
if (FlashDetect.installed) clip.setText(getCredWait(credId)['password']);
} );

$('#password').on('mouseover', function(){
getCred(credId, function(data){
if (FlashDetect.installed) {
clip.setText(data['password']);
$('button#copyclipboard').css({visibility: "visible"})
}
$('span#password').text(data['password']);
}, function(){})
});
$('#password').on('mouseover', function(){
getCred(credId, function(data){
if (FlashDetect.installed) {
$('button#copyclipboard').css({visibility: "visible"})
clip.glue($('button#copyclipboard'));
}
$('span#password').text(data['password']);
}, function(){})
});

$('#passtd').on('mouseleave', function(){
if (FlashDetect.installed) $('button#copyclipboard').css({visibility: 'hidden'})
});
/* When we mouse over the button itself */
clip.on('mouseover', function(client, args){
if (FlashDetect.installed) {
$('button#' + this.id).css({visibility: "visible"});
}
});

/* When the copy button is clicked */
clip.on( 'datarequested', function ( client, args ) {
if (FlashDetect.installed) {
switch (this.id) {
case "copyclipboard":
client.setText(getCredWait(credId)['password'])
break;
case "copyuser":
client.setText($("span#username").text());
break;
}
}
} );

clip.on('mouseover', function(){
if (FlashDetect.installed) $('button#copyclipboard').css({visibility: "visible"})
})
}
});

9 changes: 9 additions & 0 deletions ratticweb/static/zeroclipboard/1.2.3/ZeroClipboard.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
4 changes: 2 additions & 2 deletions ratticweb/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@
<script src="{% static "jquery/js/jquery.min.js" %}"></script>
<script src="{% static "bootstrap/js/bootstrap.min.js" %}"></script>
<script src="{% static "chosen/500c34bc/js/chosen.jquery.min.js" %}"></script>
<script src="{% static "zeroclipboard/1.1.7/ZeroClipboard.min.js" %}"></script>
<script src="{% static "zeroclipboard/1.2.3/ZeroClipboard.min.js" %}"></script>
<script src="{% static "flash_detect/1.0.4/flash_detect_min.js" %}"></script>
<script src="{% static "sjcl/d85a8b4/sjcl.js" %}"></script>
<script>
sjcl.random.startCollectors();
ZeroClipboard.setDefaults( { moviePath: '{% static "zeroclipboard/1.1.7/ZeroClipboard.swf" %}' } );
ZeroClipboard.setDefaults( { moviePath: '{% static "zeroclipboard/1.2.3/ZeroClipboard.swf" %}' } );
</script>
<script src="{% static "rattic/js/core.js" %}"></script>
<script src="{% static "rattic/js/passgen.js" %}"></script>
Expand Down
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ MySQL-python==1.2.3
PIL==1.1.7
South==0.7.5
django-auth-ldap==1.1.4
django-otp==0.2.2
django-tastypie==0.9.15
django-two-factor-auth==0.3.1
django-user-sessions==0.1.3
mimeparse==0.1.3
pep8==1.0.1
Expand Down

0 comments on commit 759fb48

Please sign in to comment.