Skip to content

Commit

Permalink
WIP - Trying to figure out why the form won't show in template
Browse files Browse the repository at this point in the history
  • Loading branch information
Benny M committed Jun 20, 2015
1 parent ebd77af commit 7f94ac5
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 16 deletions.
10 changes: 10 additions & 0 deletions django/apps/blue_management/blue_mgnt/static/js/console.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ $(function() {
$(this).css('width', 'auto').attr('size', size_calc);
});
});

// Toggle for column filter
$('#filter-columns').click(function(){
var $fm = $('.filter-menu');
if ($fm.attr('data-visibility') == 'false') {
$fm.css('visibility', 'visible').attr('data-visibility', 'true');
} else {
$fm.css('visibility', 'hidden').attr('data-visibility', 'false');
}
});

// Workings for the modal wrapper and widgets

Expand Down
40 changes: 40 additions & 0 deletions django/apps/blue_management/blue_mgnt/static/less/style.less
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,41 @@ h1.page-header {
background-color: #929292;
}
}
.dropdown {
i {
font-size: 10px;
color: #fff;
padding: 0 0 0 4px;
vertical-align: bottom;
}
}
.filter-menu {
visibility: hidden;
background-color: #fff;
position: absolute;
width: 500px;
text-align: center;
padding-left: 35px;
form {
width: 470px;
margin: 10px auto;
text-align: left;
}
button {
float: right;
margin: -30px 50px 0 0;
}
ul {
list-style-type: none;
columns: 3;
-webkit-columns: 3;
-moz-columns: 3;
}
span.text {
font-size: 12px;
vertical-align: middle;
}
}
}
}

Expand Down Expand Up @@ -1414,6 +1449,11 @@ td.first-time-user {
max-width: 261px;
display: inline-block;
}

.inline-standard {
display:inline-block
}

.billing {
.billing-nav {
@ORDERNAV_WIDTH: 700px;
Expand Down
2 changes: 1 addition & 1 deletion django/apps/blue_management/blue_mgnt/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
{% block base_styles %}
{% endblock base_styles %}

{% with dev=False %}
{% with dev=True %}
{% block styles %}
<link rel="stylesheet" href="/static/blue_mgnt/css/ss-standard.css" />

Expand Down
25 changes: 24 additions & 1 deletion django/apps/blue_management/blue_mgnt/templates/users.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,30 @@
<h1 class="page-header">
<i class="ss-icon">&#x1F464;</i> Users
<div class="actions">
<div id="option-add-user" class="inline-short">
<div id="option-filter-columns" class="inline-standard">
<button id="filter-columns" class="button button-primary-basic">Filter Columns<span class="dropdown"><i class="ss-icon">&#x25BE;</i></span></button>
<div class="filter-menu modal-content" data-visibility="false">
<form action="{% url 'blue_mgnt:users' %}" method="GET">
{{ column_form }}
</form>
{% comment %}
<form action="{% url 'blue_mgnt:users' %}" method="GET">
<ul>
{% for item in all_user_columns %}
<li>
<input type="checkbox" value="{{ item.name }}"{% for match in user_coulmns %}
{% if match.name == item.name %} checked="checked"{% endif %}
{% endfor %}>
<span class="text">{{ item.header }}</span>
</li>
{% endfor %}
</ul>
<button class="button thin button-primary-basic">Apply</button>
</form>
{% endcomment %}
</div>
</div>
<div id="option-add-user" class="inline-standard">
<button id="" class="button button-primary-basic">Add User</button>
</div>
<div id="option-upload-csv" class="inline-short">
Expand Down
38 changes: 24 additions & 14 deletions django/apps/blue_management/blue_mgnt/views/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,10 @@ def get_group(groups, group_name):
def create_user(api, account_info, config, data):
email = data['email']
api.create_user(data)
# Set a blank password so that the password can be set
# Set a blank password so that the password can be set
# through the set password email.
local_source.set_user_password(local_source._get_db_conn(config),
email, '')
email, '')
if config['send_activation_email']:
api.send_activation_email(email, dict(template_name='set_password'))

Expand All @@ -144,7 +144,7 @@ def _csv_create_users(api, account_info, groups, config, request, csv_data):
if config_group['user_source'] != 'local':
msg = 'Invalid data in row %s.' % x
return x, forms.ValidationError(msg + ' group_name must be a local group')
plan_id = get_plan_id(groups, group_id)
plan_id = get_plan_id(groups, group_id)
user_info = dict(
email=row['email'],
name=row['name'],
Expand Down Expand Up @@ -188,7 +188,7 @@ def clean_csv_file(self):

csv_data = csv.DictReader(data)
msg = False
created, e = _csv_create_users(api, account_info, groups,
created, e = _csv_create_users(api, account_info, groups,
config, request, csv_data)
if e is not None:
raise e
Expand Down Expand Up @@ -224,7 +224,7 @@ def clean(self):
valid_username = True

if email and name and group_id and valid_username:
plan_id = get_plan_id(groups, group_id)
plan_id = get_plan_id(groups, group_id)
data = dict(email=email, name=name, group_id=group_id, plan_id=plan_id)
if username:
data.update(dict(username=username))
Expand Down Expand Up @@ -301,7 +301,7 @@ def get_user_columns(columns):
return user_columns, '"%s" is not a valid column' % column
return user_columns, False

def get_user_rows(all_users, delete_user_formset, user_formset,
def get_user_rows(all_users, delete_user_formset, user_formset,
config, user_columns, groups):
index = 0
for user, delete in zip(all_users, delete_user_formset):
Expand Down Expand Up @@ -340,6 +340,7 @@ def users(request, api, account_info, config, username, saved=False):
)
order_by = request.GET.get('order_by', '')
search_by = request.GET.get('search_by', '')
all_user_columns = USER_COLUMNS

if features['email_as_username']:
default_columns = 'name,email,group_id,bytes_stored'
Expand All @@ -355,7 +356,7 @@ def users(request, api, account_info, config, username, saved=False):
column.order_by = column.name

UserCSVForm = get_new_user_csv_form(api, groups, account_info, config, request)
NewUserForm = get_new_user_form(api, features, account_info,
NewUserForm = get_new_user_form(api, features, account_info,
config, local_groups, groups, request)
BaseUserFormSet = get_base_user_form_set(api)
UserForm = get_user_form(local_groups)
Expand All @@ -365,7 +366,7 @@ def users(request, api, account_info, config, username, saved=False):
if search:
all_users = api.search_users(search, pagination.per_page, pagination.query_offset)
else:
all_users = api.list_users(pagination.per_page,
all_users = api.list_users(pagination.per_page,
pagination.query_offset,
order_by=order_by,
search_by=search_by,
Expand All @@ -374,7 +375,7 @@ def users(request, api, account_info, config, username, saved=False):
if not show_disabled:
all_users = [x for x in all_users if x['enabled']]

users = [dict(orig_email=x['email'],
users = [dict(orig_email=x['email'],
group_id=x['group_id'],
is_local_user=is_local_user(config, x['group_id']),
) for x in all_users]
Expand All @@ -385,7 +386,7 @@ def users(request, api, account_info, config, username, saved=False):
user_csv = UserCSVForm()
new_user = NewUserForm()

user_rows = get_user_rows(all_users, delete_user_formset,
user_rows = get_user_rows(all_users, delete_user_formset,
user_formset, config,
user_columns, groups
)
Expand All @@ -395,6 +396,13 @@ def users(request, api, account_info, config, username, saved=False):
columns=column_arg
))

class UserColumnsForm(forms.Form):
checkfield = forms.MultipleChoiceField(required=False,
choices=[(item.name, item.header) for item in USER_COLUMNS],
widget=forms.CheckboxSelectMultiple)

column_form = UserColumnsForm()

if request.method == 'POST':
if request.POST.get('form', '') == 'csv':
user_csv = UserCSVForm(request.POST, request.FILES)
Expand All @@ -415,7 +423,7 @@ def users(request, api, account_info, config, username, saved=False):
api.delete_user(orig_email)
log_admin_action(request, 'delete user "%s"' % orig_email)
return redirect(reverse('blue_mgnt:users_saved') + '?search=%s' % search)

return render_to_response('users.html', dict(
order_by=order_by,
search_by=search_by,
Expand All @@ -437,6 +445,8 @@ def users(request, api, account_info, config, username, saved=False):
search=search,
user_rows=user_rows,
pagination=pagination,
all_user_columns=all_user_columns,
coulmn_form=column_form,
),
RequestContext(request))

Expand Down Expand Up @@ -522,12 +532,12 @@ def save(self):
user_form = UserForm(request.POST)
if request.user.has_perm('blue_mgnt.can_manage_users') and user_form.is_valid():
user_form.save()
return redirect('blue_mgnt:user_detail_saved',
return redirect('blue_mgnt:user_detail_saved',
user_form.cleaned_data.get('email') or email)
if request.POST.get('form', '') == 'reset_password':
if request.user.has_perm('blue_mgnt.can_manage_users'):
local_source.set_user_password(local_source._get_db_conn(config),
email, '')
email, '')
api.send_activation_email(email, dict(template_name='set_password'))
return redirect('blue_mgnt:user_detail_saved', email)
if request.POST.get('form', '') == 'password':
Expand All @@ -551,7 +561,7 @@ def save(self):
}
api.edit_user(email, data)
time_to_reset = datetime.datetime.now() + datetime.timedelta(days=3)
BumpedUser.objects.create(email=email,
BumpedUser.objects.create(email=email,
time_to_reset_bonus_gb=time_to_reset)
return redirect('blue_mgnt:user_detail_saved', data.get('email', email))
if request.POST.get('form', '') == 'edit_share':
Expand Down

0 comments on commit 7f94ac5

Please sign in to comment.