mirror of https://github.com/jumpserver/jumpserver
Modify terminal reqject templatte
parent
0907f5021e
commit
b670259ab6
|
@ -14,7 +14,8 @@ class Terminal(models.Model):
|
|||
name = models.CharField(max_length=30, unique=True, verbose_name=_('Name'))
|
||||
remote_addr = models.GenericIPAddressField(verbose_name=_('Remote address'), blank=True, null=True)
|
||||
type = models.CharField(choices=TYPE_CHOICES, max_length=3, blank=True, verbose_name=_('Terminal type'))
|
||||
user = models.OneToOneField(User, related_name='terminal', verbose_name='Application user', null=True)
|
||||
user = models.OneToOneField(User, related_name='terminal', verbose_name='Application user',
|
||||
null=True, on_delete=models.CASCADE)
|
||||
url = models.CharField(max_length=100, blank=True, verbose_name=_('URL to login'))
|
||||
is_accepted = models.BooleanField(default=False, verbose_name='Is Accepted')
|
||||
date_created = models.DateTimeField(auto_now_add=True)
|
||||
|
@ -38,6 +39,11 @@ class Terminal(models.Model):
|
|||
self.save()
|
||||
return user, access_key
|
||||
|
||||
def delete(self, using=None, keep_parents=False):
|
||||
if self.user:
|
||||
self.user.delete()
|
||||
return super(Terminal, self).delete(using=using, keep_parents=keep_parents)
|
||||
|
||||
def __unicode__(self):
|
||||
active = 'Active' if self.user and self.user.is_active else 'Disabled'
|
||||
return '%s: %s' % (self.name, active)
|
||||
|
|
|
@ -76,7 +76,9 @@ $(document).ready(function(){
|
|||
.replace('99991938', rowData.name);
|
||||
var accept_btn = '<a class="btn btn-xs btn-primary btn-accept" data-id="99991937">{% trans "Accept" %}</a> '
|
||||
.replace('99991937', cellData);
|
||||
var reject_btn = '<a href="" class="btn btn-xs btn-danger">{% trans "Reject" %}</a>'
|
||||
var reject_btn = '<a class="btn btn-xs btn-danger m-l-xs btn_delete" data-uid="99991937" data-name="99991938">{% trans "Reject" %}</a>'
|
||||
.replace('99991937', cellData)
|
||||
.replace('99991938', rowData.name);
|
||||
if (rowData.is_accepted) {
|
||||
$(td).html(update_btn + delete_btn)
|
||||
} else {
|
||||
|
|
|
@ -35,14 +35,15 @@ def get_ip_city(ip, timeout=10):
|
|||
url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=%s&format=json' % ip
|
||||
try:
|
||||
r = requests.get(url, timeout=timeout)
|
||||
print(r)
|
||||
except requests.Timeout:
|
||||
r = None
|
||||
city = 'Unknown'
|
||||
if r and r.status_code == 200:
|
||||
try:
|
||||
data = r.json()
|
||||
if data['code'] == 0:
|
||||
city = data['data']['country'] + data['data']['city']
|
||||
if not isinstance(data, int) and data['ret'] == 1:
|
||||
city = data['country'] + ' ' + data['city']
|
||||
except ValueError:
|
||||
pass
|
||||
return city
|
||||
|
|
|
@ -121,7 +121,7 @@ class UserAuthApi(APIView):
|
|||
password = request.data.get('password', '')
|
||||
public_key = request.data.get('public_key', '')
|
||||
login_type = request.data.get('login_type', '')
|
||||
login_ip = request.META.get('REMOTE_ADDR', '')
|
||||
login_ip = request.data.get('remote_addr', None) or request.META.get('REMOTE_ADDR', '')
|
||||
user_agent = request.data.get('HTTP_USER_AGENT', '')
|
||||
|
||||
user, msg = check_user_valid(username=username, password=password, public_key=public_key)
|
||||
|
|
|
@ -195,10 +195,10 @@ def check_user_valid(**kwargs):
|
|||
elif not user.is_valid:
|
||||
return None, _('Disabled or expired')
|
||||
|
||||
if password and user.check_password(password):
|
||||
if password and user.password and user.check_password(password):
|
||||
return user, ''
|
||||
|
||||
if public_key:
|
||||
if public_key and user.public_key:
|
||||
public_key_saved = user.public_key.split()
|
||||
if len(public_key_saved) == 1:
|
||||
if public_key == public_key_saved[0]:
|
||||
|
|
Loading…
Reference in New Issue