Commit 3b6403b2 authored by ibuler's avatar ibuler

[Update] 修改一些翻译

parent c48531c5
...@@ -171,7 +171,7 @@ class AdminUserForm(forms.ModelForm): ...@@ -171,7 +171,7 @@ class AdminUserForm(forms.ModelForm):
password = forms.CharField( password = forms.CharField(
widget=forms.PasswordInput, max_length=128, widget=forms.PasswordInput, max_length=128,
strip=True, required=False, strip=True, required=False,
help_text=_('If also set private key, use that first'), help_text=_('Password or private key password'),
) )
# Need use upload private key file except paste private key content # Need use upload private key file except paste private key content
private_key_file = forms.FileField(required=False) private_key_file = forms.FileField(required=False)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
{% load i18n %} {% load i18n %}
{% block modal_id %}asset_group_bulk_update_modal{% endblock %} {% block modal_id %}asset_group_bulk_update_modal{% endblock %}
{% block modal_class %}modal-lg{% endblock %} {% block modal_class %}modal-lg{% endblock %}
{% block modal_title%}{% trans "Update asset sroup" %}{% endblock %} {% block modal_title%}{% trans "Update asset group" %}{% endblock %}
{% block modal_body %} {% block modal_body %}
{% load bootstrap3 %} {% load bootstrap3 %}
<p class="text-success text-center">{% trans "Hint: only change the field you want to update." %}</p> <p class="text-success text-center">{% trans "Hint: only change the field you want to update." %}</p>
......
...@@ -9,16 +9,6 @@ ...@@ -9,16 +9,6 @@
{% block content_left_head %}{% endblock %} {% block content_left_head %}{% endblock %}
{% block table_search %} {% block table_search %}
<div class="html5buttons">
<div class="dt-buttons btn-group">
<a class="btn btn-default btn_import" data-toggle="modal" data-target="#asset_import_modal" tabindex="0">
<span>{% trans "Import" %}</span>
</a>
<a class="btn btn-default btn_export" tabindex="0">
<span>{% trans "Export" %}</span>
</a>
</div>
</div>
{% endblock %} {% endblock %}
{% block table_container %} {% block table_container %}
......
...@@ -41,8 +41,8 @@ class AdminUserCreateView(AdminUserRequiredMixin, ...@@ -41,8 +41,8 @@ class AdminUserCreateView(AdminUserRequiredMixin,
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'assets', 'app': _('Assets'),
'action': 'Create admin user' 'action': _('Create admin user')
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -64,8 +64,8 @@ class AdminUserUpdateView(AdminUserRequiredMixin, UpdateView): ...@@ -64,8 +64,8 @@ class AdminUserUpdateView(AdminUserRequiredMixin, UpdateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'assets', 'app': _('Assets'),
'action': 'Update admin user' 'action': _('Update admin user'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -85,8 +85,8 @@ class AdminUserDetailView(AdminUserRequiredMixin, DetailView): ...@@ -85,8 +85,8 @@ class AdminUserDetailView(AdminUserRequiredMixin, DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
cluster_remain = Cluster.objects.exclude(admin_user=self.object) cluster_remain = Cluster.objects.exclude(admin_user=self.object)
context = { context = {
'app': 'assets', 'app': _('Assets'),
'action': 'Admin user detail', 'action': _('Admin user detail'),
'cluster_remain': cluster_remain, 'cluster_remain': cluster_remain,
} }
kwargs.update(context) kwargs.update(context)
...@@ -112,8 +112,8 @@ class AdminUserAssetsView(AdminUserRequiredMixin, SingleObjectMixin, ListView): ...@@ -112,8 +112,8 @@ class AdminUserAssetsView(AdminUserRequiredMixin, SingleObjectMixin, ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'assets', 'app': _('Assets'),
'action': 'Admin user detail', 'action': _('Admin user detail'),
"total_amount": len(self.queryset), "total_amount": len(self.queryset),
'unreachable_amount': len([asset for asset in self.queryset if asset.is_connective is False]) 'unreachable_amount': len([asset for asset in self.queryset if asset.is_connective is False])
} }
......
...@@ -81,8 +81,8 @@ class AssetCreateView(AdminUserRequiredMixin, CreateView): ...@@ -81,8 +81,8 @@ class AssetCreateView(AdminUserRequiredMixin, CreateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Assets', 'app': _('Assets'),
'action': 'Create asset', 'action': _('Create asset'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -138,8 +138,8 @@ class AssetBulkUpdateView(AdminUserRequiredMixin, ListView): ...@@ -138,8 +138,8 @@ class AssetBulkUpdateView(AdminUserRequiredMixin, ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Assets', 'app': _('Assets'),
'action': 'Bulk update asset', 'action': _('Bulk update asset'),
'form': self.form, 'form': self.form,
'assets_selected': self.id_list, 'assets_selected': self.id_list,
} }
...@@ -155,8 +155,8 @@ class AssetUpdateView(AdminUserRequiredMixin, UpdateView): ...@@ -155,8 +155,8 @@ class AssetUpdateView(AdminUserRequiredMixin, UpdateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Assets', 'app': _('Assets'),
'action': 'Update asset', 'action': _('Update asset'),
} }
kwargs.update(context) kwargs.update(context)
return super(AssetUpdateView, self).get_context_data(**kwargs) return super(AssetUpdateView, self).get_context_data(**kwargs)
...@@ -176,8 +176,8 @@ class AssetDetailView(DetailView): ...@@ -176,8 +176,8 @@ class AssetDetailView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
asset_groups = self.object.groups.all() asset_groups = self.object.groups.all()
context = { context = {
'app': 'Assets', 'app': _('Assets'),
'action': 'Asset detail', 'action': _('Asset detail'),
'asset_groups_remain': [asset_group for asset_group in AssetGroup.objects.all() 'asset_groups_remain': [asset_group for asset_group in AssetGroup.objects.all()
if asset_group not in asset_groups], if asset_group not in asset_groups],
'asset_groups': asset_groups, 'asset_groups': asset_groups,
......
...@@ -89,6 +89,7 @@ class BulkSerializerMixin(object): ...@@ -89,6 +89,7 @@ class BulkSerializerMixin(object):
class DatetimeSearchMixin: class DatetimeSearchMixin:
date_format = '%Y-%m-%d'
date_from = date_to = None date_from = date_to = None
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
...@@ -96,7 +97,7 @@ class DatetimeSearchMixin: ...@@ -96,7 +97,7 @@ class DatetimeSearchMixin:
date_to_s = self.request.GET.get('date_to') date_to_s = self.request.GET.get('date_to')
if date_from_s: if date_from_s:
date_from = timezone.datetime.strptime(date_from_s, '%m/%d/%Y') date_from = timezone.datetime.strptime(date_from_s, self.date_format)
self.date_from = date_from.replace( self.date_from = date_from.replace(
tzinfo=timezone.get_current_timezone() tzinfo=timezone.get_current_timezone()
) )
...@@ -105,7 +106,7 @@ class DatetimeSearchMixin: ...@@ -105,7 +106,7 @@ class DatetimeSearchMixin:
if date_to_s: if date_to_s:
date_to = timezone.datetime.strptime( date_to = timezone.datetime.strptime(
date_to_s + ' 23:59:59', '%m/%d/%Y %H:%M:%S' date_to_s + ' 23:59:59', self.date_format + ' %H:%M:%S'
) )
self.date_to = date_to.replace( self.date_to = date_to.replace(
tzinfo=timezone.get_current_timezone() tzinfo=timezone.get_current_timezone()
......
This diff is collapsed.
...@@ -16,13 +16,13 @@ ...@@ -16,13 +16,13 @@
<div class="form-group" id="date"> <div class="form-group" id="date">
<div class="input-daterange input-group" id="datepicker"> <div class="input-daterange input-group" id="datepicker">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:'Y-m-d' }}">
<span class="input-group-addon">to</span> <span class="input-group-addon">to</span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:'Y-m-d' }}">
</div> </div>
</div> </div>
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control input-sm" name="keyword" placeholder="{% trans "Search" %}" value="{{ keyword }}"> <input type="text" class="form-control input-sm" name="keyword" placeholder="{% trans 'Search' %}" value="{{ keyword }}">
</div> </div>
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
...@@ -94,9 +94,11 @@ $(document).ready(function() { ...@@ -94,9 +94,11 @@ $(document).ready(function() {
width: 'auto' width: 'auto'
}); });
$('#date .input-daterange').datepicker({ $('#date .input-daterange').datepicker({
dateFormat: 'mm/dd/yy', format: "yyyy-mm-dd",
todayBtn: "linked",
keyboardNavigation: false, keyboardNavigation: false,
forceParse: false, forceParse: false,
calendarWeeks: true,
autoclose: true autoclose: true
}); });
......
...@@ -20,7 +20,6 @@ class TaskListView(DatetimeSearchMixin, ListView): ...@@ -20,7 +20,6 @@ class TaskListView(DatetimeSearchMixin, ListView):
ordering = ('-date_created',) ordering = ('-date_created',)
context_object_name = 'task_list' context_object_name = 'task_list'
template_name = 'ops/task_list.html' template_name = 'ops/task_list.html'
date_format = '%m/%d/%Y'
keyword = '' keyword = ''
def get_queryset(self): def get_queryset(self):
...@@ -39,7 +38,7 @@ class TaskListView(DatetimeSearchMixin, ListView): ...@@ -39,7 +38,7 @@ class TaskListView(DatetimeSearchMixin, ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': _('Task list'), 'action': _('Task list'),
'date_from': self.date_from, 'date_from': self.date_from,
'date_to': self.date_to, 'date_to': self.date_to,
...@@ -55,8 +54,8 @@ class TaskDetailView(DetailView): ...@@ -55,8 +54,8 @@ class TaskDetailView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Task detail', 'action': _('Task detail'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -68,8 +67,8 @@ class TaskAdhocView(DetailView): ...@@ -68,8 +67,8 @@ class TaskAdhocView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Task versions', 'action': _('Task versions'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -81,8 +80,8 @@ class TaskHistoryView(DetailView): ...@@ -81,8 +80,8 @@ class TaskHistoryView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Task run history', 'action': _('Task run history'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -104,7 +103,7 @@ class AdHocDetailView(DetailView): ...@@ -104,7 +103,7 @@ class AdHocDetailView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Task version detail', 'action': 'Task version detail',
} }
kwargs.update(context) kwargs.update(context)
...@@ -117,8 +116,8 @@ class AdHocHistoryView(DetailView): ...@@ -117,8 +116,8 @@ class AdHocHistoryView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Version run history', 'action': _('Version run history'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
...@@ -130,8 +129,8 @@ class AdHocHistoryDetailView(DetailView): ...@@ -130,8 +129,8 @@ class AdHocHistoryDetailView(DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
'app': 'Ops', 'app': _('Ops'),
'action': 'Run history detail', 'action': _('Run history detail'),
} }
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
\ No newline at end of file
...@@ -280,16 +280,16 @@ jumpserver.initDataTable = function (options) { ...@@ -280,16 +280,16 @@ jumpserver.initDataTable = function (options) {
language: { language: {
search: "搜索", search: "搜索",
lengthMenu: "每页 _MENU_", lengthMenu: "每页 _MENU_",
info: "显示第 _START_ 到 _END_; 总共 _TOTAL_ ", info: "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项",
infoFiltered: "", infoFiltered: "",
infoEmpty: "", infoEmpty: "",
zeroRecords: "没有匹配记录", zeroRecords: "没有匹配",
emptyTable: "没有记录", emptyTable: "没有记录",
paginate: { paginate: {
first: "第一页", first: "«",
previous: "上一页", previous: "",
next: "下一页", next: "",
last: "最后" last: "»"
} }
}, },
lengthMenu: [[15, 25, 50, -1], [15, 25, 50, "All"]] lengthMenu: [[15, 25, 50, -1], [15, 25, 50, "All"]]
......
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
{% if user.is_authenticated and not user.is_public_key_valid %} {% if user.is_authenticated and not user.is_public_key_valid %}
<div class="alert alert-danger help-message"> <div class="alert alert-danger help-message">
{% url 'users:user-pubkey-update' as user_pubkey_update %} {% url 'users:user-pubkey-update' as user_pubkey_update %}
{% trans 'Your ssh public key not set or expired. Please click <a href="{{ user_pubkey_update }}"> this link </a>to update' %} {% blocktrans %}
Your ssh public key not set or expired. Please click <a href="{{ user_pubkey_update }}"> this link </a>to update
{% endblocktrans %}
</div> </div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
......
...@@ -9,11 +9,6 @@ ...@@ -9,11 +9,6 @@
<i class="fa fa-user" ></i> <span class="nav-label">{% trans 'Profile' %}</span><span class="label label-info pull-right"></span> <i class="fa fa-user" ></i> <span class="nav-label">{% trans 'Profile' %}</span><span class="label label-info pull-right"></span>
</a> </a>
</li> </li>
<li id="terminal">
<a href="{% url 'terminal:terminal-list' %}">
<i class="fa fa-terminal" ></i> <span class="nav-label">{% trans 'Terminal' %}</span><span class="label label-info pull-right"></span>
</a>
</li>
<li class="special_link"> <li class="special_link">
<a href="http://www.jumpserver.org" target="_blank"><i class="fa fa-database"></i> <a href="http://www.jumpserver.org" target="_blank"><i class="fa fa-database"></i>
<span class="nav-label">访问官网</span> <span class="nav-label">访问官网</span>
......
...@@ -22,9 +22,9 @@ ...@@ -22,9 +22,9 @@
<div class="form-group" id="date"> <div class="form-group" id="date">
<div class="input-daterange input-group" id="datepicker"> <div class="input-daterange input-group" id="datepicker">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:'Y-m-d' }}">
<span class="input-group-addon">to</span> <span class="input-group-addon">to</span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:'Y-m-d' }}">
</div> </div>
</div> </div>
<div class="input-group"> <div class="input-group">
...@@ -105,9 +105,11 @@ ...@@ -105,9 +105,11 @@
width: 'auto' width: 'auto'
}); });
$('#date .input-daterange').datepicker({ $('#date .input-daterange').datepicker({
dateFormat: 'mm/dd/yy', format: "yyyy-mm-dd",
todayBtn: "linked",
keyboardNavigation: false, keyboardNavigation: false,
forceParse: false, forceParse: false,
calendarWeeks: true,
autoclose: true autoclose: true
}); });
}); });
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
{% load common_tags %} {% load common_tags %}
{% block custom_head_css_js %} {% block custom_head_css_js %}
<link href="{% static 'css/plugins/datepicker/datepicker3.css' %}" rel="stylesheet"> <link href="{% static 'css/plugins/datepicker/datepicker3.css' %}" rel="stylesheet">
<link href="{% static "css/plugins/select2/select2.min.css" %}" rel="stylesheet"> <link href="{% static 'css/plugins/select2/select2.min.css' %}" rel="stylesheet">
<script src="{% static "js/plugins/select2/select2.full.min.js" %}"></script> <script src="{% static 'js/plugins/select2/select2.full.min.js' %}"></script>
<style> <style>
#search_btn { #search_btn {
margin-bottom: 0; margin-bottom: 0;
...@@ -23,9 +23,9 @@ ...@@ -23,9 +23,9 @@
<div class="form-group" id="date"> <div class="form-group" id="date">
<div class="input-daterange input-group" id="datepicker"> <div class="input-daterange input-group" id="datepicker">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:'Y-m-d' }}">
<span class="input-group-addon">to</span> <span class="input-group-addon">to</span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:"m/d/Y" }}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:'Y-m-d' }}">
</div> </div>
</div> </div>
<div class="input-group"> <div class="input-group">
...@@ -135,10 +135,12 @@ ...@@ -135,10 +135,12 @@
dropdownAutoWidth: true, dropdownAutoWidth: true,
width: "auto" width: "auto"
}); });
$('#date .input-daterange').datepicker({ $('.input-daterange.input-group').datepicker({
dateFormat: 'mm/dd/yy', format: "yyyy-mm-dd",
todayBtn: "linked",
keyboardNavigation: false, keyboardNavigation: false,
forceParse: false, forceParse: false,
calendarWeeks: true,
autoclose: true autoclose: true
}); });
}).on('click', '.btn-term', function () { }).on('click', '.btn-term', function () {
......
...@@ -22,7 +22,6 @@ class CommandListView(DatetimeSearchMixin, ListView): ...@@ -22,7 +22,6 @@ class CommandListView(DatetimeSearchMixin, ListView):
paginate_by = settings.CONFIG.DISPLAY_PER_PAGE paginate_by = settings.CONFIG.DISPLAY_PER_PAGE
command = user = asset = system_user = "" command = user = asset = system_user = ""
date_from = date_to = None date_from = date_to = None
date_format = '%m/%d/%Y'
def get_queryset(self): def get_queryset(self):
self.command = self.request.GET.get('command', '') self.command = self.request.GET.get('command', '')
......
...@@ -29,7 +29,6 @@ class SessionListView(AdminUserRequiredMixin, DatetimeSearchMixin, ListView): ...@@ -29,7 +29,6 @@ class SessionListView(AdminUserRequiredMixin, DatetimeSearchMixin, ListView):
paginate_by = settings.CONFIG.DISPLAY_PER_PAGE paginate_by = settings.CONFIG.DISPLAY_PER_PAGE
user = asset = system_user = '' user = asset = system_user = ''
date_from = date_to = None date_from = date_to = None
date_format = '%m/%d/%Y'
def get_queryset(self): def get_queryset(self):
self.queryset = super().get_queryset() self.queryset = super().get_queryset()
......
...@@ -20,7 +20,7 @@ __all__ = [ ...@@ -20,7 +20,7 @@ __all__ = [
] ]
class TerminalListView(LoginRequiredMixin, ListView): class TerminalListView(AdminUserRequiredMixin, ListView):
model = Terminal model = Terminal
template_name = 'terminal/terminal_list.html' template_name = 'terminal/terminal_list.html'
form_class = TerminalForm form_class = TerminalForm
......
...@@ -20,7 +20,7 @@ from common.utils import get_logger ...@@ -20,7 +20,7 @@ from common.utils import get_logger
logger = get_logger(__name__) logger = get_logger(__name__)
class UserViewSet(BulkModelViewSet): class UserViewSet(IDInFilterMixin, BulkModelViewSet):
queryset = User.objects.exclude(role="App") queryset = User.objects.exclude(role="App")
# queryset = User.objects.all().exclude(role="App").order_by("date_joined") # queryset = User.objects.all().exclude(role="App").order_by("date_joined")
serializer_class = UserSerializer serializer_class = UserSerializer
......
...@@ -27,9 +27,9 @@ class User(AbstractUser): ...@@ -27,9 +27,9 @@ class User(AbstractUser):
ROLE_APP = 'App' ROLE_APP = 'App'
ROLE_CHOICES = ( ROLE_CHOICES = (
(ROLE_ADMIN, 'Administrator'), (ROLE_ADMIN, _('Administrator')),
(ROLE_USER, 'User'), (ROLE_USER, _('User')),
(ROLE_APP, 'Application') (ROLE_APP, _('Application'))
) )
id = models.UUIDField(default=uuid.uuid4, primary_key=True) id = models.UUIDField(default=uuid.uuid4, primary_key=True)
username = models.CharField(max_length=128, unique=True, verbose_name=_('Username')) username = models.CharField(max_length=128, unique=True, verbose_name=_('Username'))
......
...@@ -17,10 +17,10 @@ ...@@ -17,10 +17,10 @@
<div class="form-group" id="date"> <div class="form-group" id="date">
<div class="input-daterange input-group" id="datepicker"> <div class="input-daterange input-group" id="datepicker">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:"m/d/Y"}}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" value="{{ date_from|date:'Y-m-d'}}">
{# <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" >#} {# <input type="text" class="input-sm form-control" style="width: 100px;" name="date_from" >#}
<span class="input-group-addon">to</span> <span class="input-group-addon">to</span>
<input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:"m/d/Y"}}"> <input type="text" class="input-sm form-control" style="width: 100px;" name="date_to" value="{{ date_to|date:'Y-m-d'}}">
</div> </div>
</div> </div>
<div class="input-group"> <div class="input-group">
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</select> </select>
</div> </div>
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control input-sm" name="keyword" placeholder="{% trans "Search" %}" value="{{ keyword }}"> <input type="text" class="form-control input-sm" name="keyword" placeholder="{% trans 'Search' %}" value="{{ keyword }}">
</div> </div>
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
...@@ -81,9 +81,11 @@ ...@@ -81,9 +81,11 @@
"order": [] "order": []
}); });
$('#date .input-daterange').datepicker({ $('#date .input-daterange').datepicker({
dateFormat: "mm/dd/yyy", format: "yyyy-mm-dd",
todayBtn: "linked",
keyboardNavigation: false, keyboardNavigation: false,
forceParse: false, forceParse: false,
calendarWeeks: true,
autoclose: true autoclose: true
}); });
......
{% load i18n %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% trans 'Confirm delete' %}</title>
</head>
<body>
<form action="" method="post">
{% csrf_token %}
<p>Are you sure you want to delete "{{ object.name }}"?</p>
<input type="submit" value="Confirm" />
</form>
</body>
</html>
\ No newline at end of file
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
{% load i18n %} {% load i18n %}
{% block custom_head_css_js %} {% block custom_head_css_js %}
<link href="{% static "css/plugins/select2/select2.min.css" %}" rel="stylesheet"> <link href="{% static 'css/plugins/select2/select2.min.css' %}" rel="stylesheet">
<script src="{% static "js/plugins/select2/select2.full.min.js" %}"></script> <script src="{% static 'js/plugins/select2/select2.full.min.js' %}"></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="wrapper wrapper-content animated fadeInRight"> <div class="wrapper wrapper-content animated fadeInRight">
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</ul> </ul>
</div> </div>
<div class="tab-content"> <div class="tab-content">
<div class="col-sm-7" style="padding-left: 0;"> <div class="col-sm-6" style="padding-left: 0;">
<div class="ibox float-e-margins"> <div class="ibox float-e-margins">
<div class="ibox-title"> <div class="ibox-title">
<span style="float: left">{% trans 'Assets granted of ' %} <b>{{ user.name }}</b></span> <span style="float: left">{% trans 'Assets granted of ' %} <b>{{ user.name }}</b></span>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-5" style="padding-left: 0;padding-right: 0"> <div class="col-sm-6" style="padding-left: 0;padding-right: 0">
<div class="ibox float-e-margins"> <div class="ibox float-e-margins">
<div class="ibox-title"> <div class="ibox-title">
<span style="float: left">{% trans 'Asset groups granted of ' %} <b>{{ user.name }}</b></span> <span style="float: left">{% trans 'Asset groups granted of ' %} <b>{{ user.name }}</b></span>
......
...@@ -217,7 +217,6 @@ class LoginLogListView(DatetimeSearchMixin, ListView): ...@@ -217,7 +217,6 @@ class LoginLogListView(DatetimeSearchMixin, ListView):
paginate_by = settings.CONFIG.DISPLAY_PER_PAGE paginate_by = settings.CONFIG.DISPLAY_PER_PAGE
user = keyword = "" user = keyword = ""
date_to = date_from = None date_to = date_from = None
date_format = '%m/%d/%Y'
def get_queryset(self): def get_queryset(self):
self.user = self.request.GET.get('user', '') self.user = self.request.GET.get('user', '')
......
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