From 279987925a9673eb7c02f383b5ab0a54245f4d9c Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 18 Aug 2016 00:47:34 +0800 Subject: [PATCH] Modify user detail of usergroup --- apps/media/avatar/default/default1.png | Bin 0 -> 2668 bytes apps/media/avatar/default/default2.png | Bin 0 -> 2350 bytes apps/media/avatar/default/default3.png | Bin 0 -> 3844 bytes apps/media/avatar/default/default4.png | Bin 0 -> 1139 bytes apps/media/avatar/default/default5.png | Bin 0 -> 1842 bytes apps/media/avatar/default/default6.png | Bin 0 -> 1336 bytes apps/static/css/plugins/chosen/chosen.css | 550 +++++++++--------- apps/static/css/style.css | 16 + apps/templates/_head_css_js.html | 3 +- apps/templates/base.html | 4 +- .../migrations/0008_auto_20160817_2303.py | 20 + apps/users/models.py | 2 +- apps/users/templates/users/_user.html | 3 +- apps/users/templates/users/user_detail.html | 52 +- apps/users/templatetags/users_tags.py | 15 +- apps/users/views.py | 3 +- 16 files changed, 357 insertions(+), 311 deletions(-) create mode 100644 apps/media/avatar/default/default1.png create mode 100644 apps/media/avatar/default/default2.png create mode 100644 apps/media/avatar/default/default3.png create mode 100644 apps/media/avatar/default/default4.png create mode 100644 apps/media/avatar/default/default5.png create mode 100644 apps/media/avatar/default/default6.png create mode 100644 apps/users/migrations/0008_auto_20160817_2303.py diff --git a/apps/media/avatar/default/default1.png b/apps/media/avatar/default/default1.png new file mode 100644 index 0000000000000000000000000000000000000000..b90e5efd7cac5dedaf449d8cea5cbc7a0f133ead GIT binary patch literal 2668 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 USQsGMxc~qF07*qoM6N<$g4ExSaR2}S literal 0 HcmV?d00001 diff --git a/apps/media/avatar/default/default3.png b/apps/media/avatar/default/default3.png new file mode 100644 index 0000000000000000000000000000000000000000..e13e00c708263f9d0d1ad5626001aa0556c400d2 GIT binary patch literal 3844 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 Z&$eH|&=Qt?09Yb2c)I$ztaD0e0sz8ahpPYp literal 0 HcmV?d00001 diff --git a/apps/static/css/plugins/chosen/chosen.css b/apps/static/css/plugins/chosen/chosen.css index 8603ce5c6..a7e9b5e19 100755 --- a/apps/static/css/plugins/chosen/chosen.css +++ b/apps/static/css/plugins/chosen/chosen.css @@ -2,9 +2,9 @@ Chosen, a Select Box Enhancer for jQuery and Prototype by Patrick Filler for Harvest, http://getharvest.com -Version 1.6.2 +Version 1.1.0 Full source at https://github.com/harvesthq/chosen -Copyright (c) 2011-2016 Harvest http://getharvest.com +Copyright (c) 2011 Harvest http://getharvest.com MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md This file is generated by `grunt build`, do not edit it by hand. @@ -12,436 +12,418 @@ This file is generated by `grunt build`, do not edit it by hand. /* @group Base */ .chosen-container { - position: relative; - display: inline-block; - vertical-align: middle; - font-size: 13px; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.chosen-container * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + position: relative; + display: inline-block; + vertical-align: middle; + font-size: 13px; + zoom: 1; + *display: inline; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .chosen-container .chosen-drop { - position: absolute; - top: 100%; - left: -9999px; - z-index: 1010; - width: 100%; - border: 1px solid #aaa; - border-top: 0; - background: #fff; - box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); + position: absolute; + top: 100%; + left: -9999px; + z-index: 1010; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border: 1px solid #aaa; + border-top: 0; + background: #fff; + box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15); } .chosen-container.chosen-with-drop .chosen-drop { - left: 0; + left: 0; } .chosen-container a { - cursor: pointer; -} -.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name { - margin-right: 4px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - font-weight: normal; - color: #999999; -} -.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after { - content: ":"; - padding-left: 2px; - vertical-align: top; + cursor: pointer; } /* @end */ /* @group Single Chosen */ .chosen-container-single .chosen-single { - position: relative; - display: block; - overflow: hidden; - padding: 0 0 0 8px; - height: 25px; - border: 1px solid #aaa; - border-radius: 5px; - background-color: #fff; - background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); - background: -webkit-linear-gradient(#ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); - background: -moz-linear-gradient(#ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); - background: -o-linear-gradient(#ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); - background: linear-gradient(#ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); - background-clip: padding-box; - box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); - color: #444; - text-decoration: none; - white-space: nowrap; - line-height: 24px; + position: relative; + display: block; + overflow: hidden; + padding: 0 0 0 8px; + height: 23px; + border: 1px solid #aaa; + border-radius: 5px; + background-color: #fff; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4)); + background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%); + background-clip: padding-box; + box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1); + color: #444; + text-decoration: none; + white-space: nowrap; + line-height: 24px; } .chosen-container-single .chosen-default { - color: #999; + color: #999; } .chosen-container-single .chosen-single span { - display: block; - overflow: hidden; - margin-right: 26px; - text-overflow: ellipsis; - white-space: nowrap; + display: block; + overflow: hidden; + margin-right: 26px; + text-overflow: ellipsis; + white-space: nowrap; } .chosen-container-single .chosen-single-with-deselect span { - margin-right: 38px; + margin-right: 38px; } .chosen-container-single .chosen-single abbr { - position: absolute; - top: 6px; - right: 26px; - display: block; - width: 12px; - height: 12px; - background: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') -42px 1px no-repeat; - font-size: 1px; + position: absolute; + top: 6px; + right: 26px; + display: block; + width: 12px; + height: 12px; + background: url('chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; } .chosen-container-single .chosen-single abbr:hover { - background-position: -42px -10px; + background-position: -42px -10px; } .chosen-container-single.chosen-disabled .chosen-single abbr:hover { - background-position: -42px -10px; + background-position: -42px -10px; } .chosen-container-single .chosen-single div { - position: absolute; - top: 0; - right: 0; - display: block; - width: 18px; - height: 100%; + position: absolute; + top: 0; + right: 0; + display: block; + width: 18px; + height: 100%; } .chosen-container-single .chosen-single div b { - display: block; - width: 100%; - height: 100%; - background: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') no-repeat 0px 2px; + display: block; + width: 100%; + height: 100%; + background: url('chosen-sprite.png') no-repeat 0px 2px; } .chosen-container-single .chosen-search { - position: relative; - z-index: 1010; - margin: 0; - padding: 3px 4px; - white-space: nowrap; + position: relative; + z-index: 1010; + margin: 0; + padding: 3px 4px; + white-space: nowrap; } .chosen-container-single .chosen-search input[type="text"] { - margin: 1px 0; - padding: 4px 20px 4px 5px; - width: 100%; - height: auto; - outline: 0; - border: 1px solid #aaa; - background: white url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') no-repeat 100% -20px; - background: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') no-repeat 100% -20px; - font-size: 1em; - font-family: sans-serif; - line-height: normal; - border-radius: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 1px 0; + padding: 4px 20px 4px 5px; + width: 100%; + height: auto; + outline: 0; + border: 1px solid #aaa; + background: white url('chosen-sprite.png') no-repeat 100% -20px; + background: url('chosen-sprite.png') no-repeat 100% -20px; + font-size: 1em; + font-family: sans-serif; + line-height: normal; + border-radius: 0; } .chosen-container-single .chosen-drop { - margin-top: -1px; - border-radius: 0 0 4px 4px; - background-clip: padding-box; + margin-top: -1px; + border-radius: 0 0 4px 4px; + background-clip: padding-box; } .chosen-container-single.chosen-container-single-nosearch .chosen-search { - position: absolute; - left: -9999px; + position: absolute; + left: -9999px; } /* @end */ /* @group Results */ .chosen-container .chosen-results { - color: #444; - position: relative; - overflow-x: hidden; - overflow-y: auto; - margin: 0 4px 4px 0; - padding: 0 0 0 4px; - max-height: 240px; - -webkit-overflow-scrolling: touch; + position: relative; + overflow-x: hidden; + overflow-y: auto; + margin: 0 4px 4px 0; + padding: 0 0 0 4px; + max-height: 240px; + -webkit-overflow-scrolling: touch; } .chosen-container .chosen-results li { - display: none; - margin: 0; - padding: 5px 6px; - list-style: none; - line-height: 15px; - word-wrap: break-word; - -webkit-touch-callout: none; + display: none; + margin: 0; + padding: 5px 6px; + list-style: none; + line-height: 15px; + -webkit-touch-callout: none; } .chosen-container .chosen-results li.active-result { - display: list-item; - cursor: pointer; + display: list-item; + cursor: pointer; } .chosen-container .chosen-results li.disabled-result { - display: list-item; - color: #ccc; - cursor: default; + display: list-item; + color: #ccc; + cursor: default; } .chosen-container .chosen-results li.highlighted { - background-color: #3875d7; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); - background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); - background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); - background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); - background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); - color: #fff; + background-color: #3875d7; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc)); + background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%); + background-image: linear-gradient(#3875d7 20%, #2a62bc 90%); + color: #fff; } .chosen-container .chosen-results li.no-results { - color: #777; - display: list-item; - background: #f4f4f4; + display: list-item; + background: #f4f4f4; } .chosen-container .chosen-results li.group-result { - display: list-item; - font-weight: bold; - cursor: default; + display: list-item; + font-weight: bold; + cursor: default; } .chosen-container .chosen-results li.group-option { - padding-left: 15px; + padding-left: 15px; } .chosen-container .chosen-results li em { - font-style: normal; - text-decoration: underline; + font-style: normal; + text-decoration: underline; } /* @end */ /* @group Multi Chosen */ .chosen-container-multi .chosen-choices { - position: relative; - overflow: hidden; - margin: 0; - padding: 0 5px; - width: 100%; - height: auto; - border: 1px solid #aaa; - background-color: #fff; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); - background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%); - background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%); - background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%); - background-image: linear-gradient(#eeeeee 1%, #ffffff 15%); - cursor: text; + -moz-box-sizing: border-box; + background-color: #FFFFFF; + border: 1px solid #CBD5DD; + border-radius: 2px; + cursor: text; + height: auto !important; + margin: 0; + min-height: 30px; + overflow: hidden; + padding: 2px; + position: relative; + width: 100%; } .chosen-container-multi .chosen-choices li { - float: left; - list-style: none; + float: left; + list-style: none; } .chosen-container-multi .chosen-choices li.search-field { - margin: 0; - padding: 0; - white-space: nowrap; + margin: 0; + padding: 0; + white-space: nowrap; } .chosen-container-multi .chosen-choices li.search-field input[type="text"] { - margin: 1px 0; - padding: 0; - height: 25px; - outline: 0; - border: 0 !important; - background: transparent !important; - box-shadow: none; - color: #999; - font-size: 100%; - font-family: sans-serif; - line-height: normal; - border-radius: 0; + margin: 1px 0; + padding: 5px; + height: 25px; + outline: 0; + border: 0 !important; + background: transparent !important; + box-shadow: none; + color: #666; + font-size: 100%; + font-family: sans-serif; + line-height: normal; + border-radius: 0; +} +.chosen-container-multi .chosen-choices li.search-field .default { + color: #999; } .chosen-container-multi .chosen-choices li.search-choice { - position: relative; - margin: 3px 5px 3px 0; - padding: 3px 20px 3px 5px; - border: 1px solid #aaa; - max-width: 100%; - border-radius: 3px; - background-color: #eeeeee; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); - background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-size: 100% 19px; - background-repeat: repeat-x; - background-clip: padding-box; - box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); - color: #333; - line-height: 13px; - cursor: default; -} -.chosen-container-multi .chosen-choices li.search-choice span { - word-wrap: break-word; + position: relative; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + border: 1px solid #aaa; + border-radius: 3px; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-clip: padding-box; + box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05); + color: #333; + line-height: 13px; + cursor: default; } .chosen-container-multi .chosen-choices li.search-choice .search-choice-close { - position: absolute; - top: 4px; - right: 3px; - display: block; - width: 12px; - height: 12px; - background: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') -42px 1px no-repeat; - font-size: 1px; + position: absolute; + top: 4px; + right: 3px; + display: block; + width: 12px; + height: 12px; + background: url('chosen-sprite.png') -42px 1px no-repeat; + font-size: 1px; } .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover { - background-position: -42px -10px; + background-position: -42px -10px; } .chosen-container-multi .chosen-choices li.search-choice-disabled { - padding-right: 5px; - border: 1px solid #ccc; - background-color: #e4e4e4; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); - background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - color: #666; + padding-right: 5px; + border: 1px solid #ccc; + background-color: #e4e4e4; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); + color: #666; } .chosen-container-multi .chosen-choices li.search-choice-focus { - background: #d4d4d4; + background: #d4d4d4; } .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close { - background-position: -42px -10px; + background-position: -42px -10px; } .chosen-container-multi .chosen-results { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .chosen-container-multi .chosen-drop .result-selected { - display: list-item; - color: #ccc; - cursor: default; + display: list-item; + color: #ccc; + cursor: default; } /* @end */ /* @group Active */ .chosen-container-active .chosen-single { - border: 1px solid #5897fb; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } .chosen-container-active.chosen-with-drop .chosen-single { - border: 1px solid #aaa; - -moz-border-radius-bottomright: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomleft: 0; - border-bottom-left-radius: 0; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); - background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); - background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); - background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); - background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); - box-shadow: 0 1px 0 #fff inset; + border: 1px solid #aaa; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff)); + background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%); + background-image: linear-gradient(#eeeeee 20%, #ffffff 80%); + box-shadow: 0 1px 0 #fff inset; } .chosen-container-active.chosen-with-drop .chosen-single div { - border-left: none; - background: transparent; + border-left: none; + background: transparent; } .chosen-container-active.chosen-with-drop .chosen-single div b { - background-position: -18px 2px; + background-position: -18px 2px; } .chosen-container-active .chosen-choices { - border: 1px solid #5897fb; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); + border: 1px solid #5897fb; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } .chosen-container-active .chosen-choices li.search-field input[type="text"] { - color: #222 !important; + color: #111 !important; } /* @end */ /* @group Disabled Support */ .chosen-disabled { - opacity: 0.5 !important; - cursor: default; + opacity: 0.5 !important; + cursor: default; } .chosen-disabled .chosen-single { - cursor: default; + cursor: default; } .chosen-disabled .chosen-choices .search-choice .search-choice-close { - cursor: default; + cursor: default; } /* @end */ /* @group Right to Left */ .chosen-rtl { - text-align: right; + text-align: right; } .chosen-rtl .chosen-single { - overflow: visible; - padding: 0 8px 0 0; + overflow: visible; + padding: 0 8px 0 0; } .chosen-rtl .chosen-single span { - margin-right: 0; - margin-left: 26px; - direction: rtl; + margin-right: 0; + margin-left: 26px; + direction: rtl; } .chosen-rtl .chosen-single-with-deselect span { - margin-left: 38px; + margin-left: 38px; } .chosen-rtl .chosen-single div { - right: auto; - left: 3px; + right: auto; + left: 3px; } .chosen-rtl .chosen-single abbr { - right: auto; - left: 26px; + right: auto; + left: 26px; } .chosen-rtl .chosen-choices li { - float: right; + float: right; } .chosen-rtl .chosen-choices li.search-field input[type="text"] { - direction: rtl; + direction: rtl; } .chosen-rtl .chosen-choices li.search-choice { - margin: 3px 5px 3px 0; - padding: 3px 5px 3px 19px; + margin: 3px 5px 3px 0; + padding: 3px 5px 3px 19px; } .chosen-rtl .chosen-choices li.search-choice .search-choice-close { - right: auto; - left: 4px; + right: auto; + left: 4px; } .chosen-rtl.chosen-container-single-nosearch .chosen-search, .chosen-rtl .chosen-drop { - left: 9999px; + left: 9999px; } .chosen-rtl.chosen-container-single .chosen-results { - margin: 0 0 4px 4px; - padding: 0 4px 0 0; + margin: 0 0 4px 4px; + padding: 0 4px 0 0; } .chosen-rtl .chosen-results li.group-option { - padding-right: 15px; - padding-left: 0; + padding-right: 15px; + padding-left: 0; } .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div { - border-right: none; + border-right: none; } .chosen-rtl .chosen-search input[type="text"] { - padding: 4px 5px 4px 20px; - background: white url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') no-repeat -30px -20px; - background: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite.png') no-repeat -30px -20px; - direction: rtl; + padding: 4px 5px 4px 20px; + background: white url('chosen-sprite.png') no-repeat -30px -20px; + background: url('chosen-sprite.png') no-repeat -30px -20px; + direction: rtl; } .chosen-rtl.chosen-container-single .chosen-single div b { - background-position: 6px 2px; + background-position: 6px 2px; } .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b { - background-position: -12px 2px; + background-position: -12px 2px; } /* @end */ /* @group Retina compatibility */ -@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) { - .chosen-rtl .chosen-search input[type="text"], - .chosen-container-single .chosen-single abbr, - .chosen-container-single .chosen-single div b, - .chosen-container-single .chosen-search input[type="text"], - .chosen-container-multi .chosen-choices .search-choice .search-choice-close, - .chosen-container .chosen-results-scroll-down span, - .chosen-container .chosen-results-scroll-up span { - background-image: url('../../../../../../../Downloads/chosen_v1.6.2/chosen-sprite@2x.png') !important; - background-size: 52px 37px !important; - background-repeat: no-repeat !important; - } +@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { + .chosen-rtl .chosen-search input[type="text"], + .chosen-container-single .chosen-single abbr, + .chosen-container-single .chosen-single div b, + .chosen-container-single .chosen-search input[type="text"], + .chosen-container-multi .chosen-choices .search-choice .search-choice-close, + .chosen-container .chosen-results-scroll-down span, + .chosen-container .chosen-results-scroll-up span { + background-image: url('chosen-sprite@2x.png') !important; + background-size: 52px 37px !important; + background-repeat: no-repeat !important; + } } /* @end */ diff --git a/apps/static/css/style.css b/apps/static/css/style.css index 1e8eaa02b..794a62db7 100644 --- a/apps/static/css/style.css +++ b/apps/static/css/style.css @@ -981,6 +981,22 @@ button.dim:active:before { padding: 3px 20px 3px 5px; position: relative; } + +.chosen-container .chosen-results li.highlighted { + background-color: #1ab394; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #1ab394), color-stop(90%, #1ab394)); + /*background-image: -webkit-linear-gradient(#1ab394 20%, #2a62bc 100%);*/ + /*background-image: -moz-linear-gradient(#1ab394 20%, #2a62bc 100%);*/ + /*background-image: -o-linear-gradient(#1ab394 20%, #2a62bc 100%);*/ + /*background-image: linear-gradient(#1ab394 20%, #2a62bc 100%);*/ + color: #fff; +} + +.chosen-container-active .chosen-choices { + border: 1px solid #1ab394; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); +} + /* PAGINATIN */ .pagination > .active > a, .pagination > .active > span, diff --git a/apps/templates/_head_css_js.html b/apps/templates/_head_css_js.html index b7295bb2c..f326a3698 100644 --- a/apps/templates/_head_css_js.html +++ b/apps/templates/_head_css_js.html @@ -5,7 +5,7 @@ {##} {##} - + {##} {##} @@ -15,7 +15,6 @@ - {##} diff --git a/apps/templates/base.html b/apps/templates/base.html index 0f27fa607..7abe00099 100644 --- a/apps/templates/base.html +++ b/apps/templates/base.html @@ -11,6 +11,8 @@ {% include '_head_css_js.html' %} {% block custom_head_css_js %} {% endblock %} + + @@ -25,5 +27,5 @@ {% include '_foot_js.html' %} -{% block custom_footer_js %} {% endblock %} +{% block custom_foot_js %} {% endblock %} \ No newline at end of file diff --git a/apps/users/migrations/0008_auto_20160817_2303.py b/apps/users/migrations/0008_auto_20160817_2303.py new file mode 100644 index 000000000..dac68a94c --- /dev/null +++ b/apps/users/migrations/0008_auto_20160817_2303.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2016-08-17 15:03 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0007_auto_20160817_0032'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='avatar', + field=models.ImageField(upload_to='avatar', verbose_name='\u5934\u50cf'), + ), + ] diff --git a/apps/users/models.py b/apps/users/models.py index 0fad694a9..089fde22b 100644 --- a/apps/users/models.py +++ b/apps/users/models.py @@ -60,7 +60,7 @@ class User(AbstractUser): username = models.CharField(max_length=20, unique=True, verbose_name='用户名', help_text='* required') name = models.CharField(max_length=20, verbose_name='姓名', help_text='* required') email = models.EmailField(max_length=30, unique=True, verbose_name='邮件', help_text='* required') - groups = models.ManyToManyField(UserGroup, verbose_name='用户组') + groups = models.ManyToManyField(UserGroup, verbose_name='用户组', help_text='* required') avatar = models.ImageField(upload_to="avatar", verbose_name='头像') wechat = models.CharField(max_length=30, blank=True, verbose_name='微信') phone = models.CharField(max_length=20, blank=True, verbose_name='手机号') diff --git a/apps/users/templates/users/_user.html b/apps/users/templates/users/_user.html index 36d20ceec..0c4339043 100644 --- a/apps/users/templates/users/_user.html +++ b/apps/users/templates/users/_user.html @@ -49,7 +49,6 @@

信息

- {{ form.avatar|bootstrap_horizontal }} {{ form.phone|bootstrap_horizontal }} {{ form.wechat|bootstrap_horizontal }} {{ form.comment|bootstrap_horizontal }} @@ -67,7 +66,7 @@ {% endblock %} -{% block custom_footer_js %} +{% block custom_foot_js %} +{% endblock %} {% block content %}
@@ -177,28 +181,38 @@
-
+
用户组
-
+
- - + + + - + + + + + + + {% for group in user.groups.all %} - - - - - - + + + {% endfor %}
- -
+ +
+ +
姓名:{{ user.name }}
描述:{{ user.comment }}{{ group.name }}
@@ -212,9 +226,19 @@
{% endblock %} -{% block custom_footer_js %} +{% block custom_foot_js %} {% endblock %} \ No newline at end of file diff --git a/apps/users/templatetags/users_tags.py b/apps/users/templatetags/users_tags.py index 64451bd3e..d3efec18b 100644 --- a/apps/users/templatetags/users_tags.py +++ b/apps/users/templatetags/users_tags.py @@ -1,12 +1,12 @@ # ~*~ coding: utf-8 ~*~ +import os import urllib import hashlib from django import template from django.utils import timezone from django.conf import settings -from django.conf.urls.static import static register = template.Library() @@ -26,13 +26,16 @@ def is_expired(datetime): @register.filter -def user_avatar_url(user, size=64): +def user_avatar_url(user): if user.avatar: return user.avatar.url - gravatar_url = "https://www.gravatar.com/avatar/" \ - + hashlib.md5(user.email.lower()).hexdigest() + "?" - gravatar_url += urllib.urlencode({'d': 'identicon', 's': str(size)}) - return gravatar_url + else: + default_dir = os.path.join(settings.MEDIA_ROOT, 'avatar', 'default') + if os.path.isdir(default_dir): + default_avatar_list = os.listdir(default_dir) + default_avatar = default_avatar_list[len(user.username) % len(default_avatar_list)] + return os.path.join(settings.MEDIA_URL, 'avatar', 'default', default_avatar) + return 'https://www.gravatar.com/avatar/c6812ab450230979465d7bf288eadce2a?s=120&d=identicon' diff --git a/apps/users/views.py b/apps/users/views.py index 1ff8474db..0e0d481f8 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -87,5 +87,6 @@ class UserDetailView(DetailView): def get_context_data(self, **kwargs): context = super(UserDetailView, self).get_context_data(**kwargs) - context.update({'path1': '用户管理', 'path2': '用户详情', 'title': '用户详情'}) + groups = [group for group in UserGroup.objects.iterator() if group not in self.object.groups.iterator()] + context.update({'path1': '用户管理', 'path2': '用户详情', 'title': '用户详情', 'groups': groups}) return context