summaryrefslogtreecommitdiffstats
path: root/askbot/skins
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-03 15:25:38 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-03 15:25:38 -0600
commitb7b3875154abcd9d22d90a9dd1862e23b4714e2a (patch)
tree158f862d65ed751613beb1fd04e0d0b233770ec2 /askbot/skins
parent4ef064ab11938f6913d3ebeaab43734f18b30442 (diff)
parent9babe8e48f4caaf58a7c5daf5b657b6438e7fb51 (diff)
downloadaskbot-b7b3875154abcd9d22d90a9dd1862e23b4714e2a.tar.gz
askbot-b7b3875154abcd9d22d90a9dd1862e23b4714e2a.tar.bz2
askbot-b7b3875154abcd9d22d90a9dd1862e23b4714e2a.zip
Merge branch 'user-groups' of github.com:ASKBOT/askbot-devel into user-groups
Diffstat (limited to 'askbot/skins')
-rw-r--r--askbot/skins/common/media/js/post.js6
-rw-r--r--askbot/skins/default/templates/macros.html38
-rw-r--r--askbot/skins/default/templates/widgets/group_info.html4
3 files changed, 34 insertions, 14 deletions
diff --git a/askbot/skins/common/media/js/post.js b/askbot/skins/common/media/js/post.js
index ab1d8b6e..22b8cf9b 100644
--- a/askbot/skins/common/media/js/post.js
+++ b/askbot/skins/common/media/js/post.js
@@ -2607,7 +2607,11 @@ GroupJoinButton.prototype.getHandler = function(){
url: askbot['urls']['join_or_leave_group'],
success: function(data){
if (data['success']){
- var new_state = data['is_member'] ? 'on-state':'off-state';
+ var level = data['membership_level'];
+ var new_state = 'off-state';
+ if (level == 'full' || level == 'pending') {
+ new_state = 'on-state';
+ }
me.setState(new_state);
} else {
showMessage(me.getElement(), data['message']);
diff --git a/askbot/skins/default/templates/macros.html b/askbot/skins/default/templates/macros.html
index 122d90c8..cf6bb922 100644
--- a/askbot/skins/default/templates/macros.html
+++ b/askbot/skins/default/templates/macros.html
@@ -230,8 +230,8 @@ poor design of the data or methods on data objects #}
<br/>
{{ group_join_button(
group_id = group.id,
- can_join = membership_info['can_join'],
- is_member = membership_info['is_member']
+ acceptance_level = membership_info['aceptance_level'],
+ membership_level = membership_info['membership_level']
)
}}
{% endif %}
@@ -248,21 +248,37 @@ poor design of the data or methods on data objects #}
{% endif %}
{%- endmacro -%}
-{%- macro group_join_button(group_id = None, can_join = False, is_member = False) -%}
- {% if can_join %}
+{%- macro group_join_button(
+ group_id=None, acceptance_level='closed', membership_level='none')
+-%}
+ {% if acceptance_level in ('open', 'moderated') %}
<button
- class="group-join-btn follow-toggle {% if is_member %}on on-state{% endif %}"
+ class="group-join-btn follow-toggle {% if membership_level != 'none' %}on on-state{% endif %}"
data-group-id="{{group_id}}"
- data-off-prompt-text="{% trans %}Leave this group{% endtrans %}"
- data-on-prompt-text="{% trans %}Join this group{% endtrans %}"
- data-on-state-text="{% trans %}You are a member{% endtrans %}"
- data-off-state-text="{% trans %}Join this group{% endtrans %}"
+ {% if acceptance_level == 'open' %}
+ data-off-prompt-text="{% trans %}Leave this group{% endtrans %}"
+ data-on-prompt-text="{% trans %}Join this group{% endtrans %}"
+ data-on-state-text="{% trans %}You are a member{% endtrans %}"
+ data-off-state-text="{% trans %}Join this group{% endtrans %}"
+ {% else %}
+ {% if membership_level == 'full' %}
+ data-off-prompt-text="{% trans %}Leave this group{% endtrans %}"
+ data-on-state-text="{% trans %}You are a member{% endtrans %}"
+ {% else %}
+ data-off-prompt-text="{% trans %}Cancel application{% endtrans %}"
+ data-on-state-text="{% trans %}Waiting approval{% endtrans %}"
+ {% endif %}
+ data-on-prompt-text="{% trans %}Ask to join{% endtrans %}"
+ data-off-state-text="{% trans %}Ask to join{% endtrans %}"
+ {% endif %}
>
- {% if is_member %}
+ {% if membership_level == 'full' %}
{% trans %}You are a member{% endtrans %}
{% else %}
- {% if can_join %}
+ {% if acceptance_level == 'open' %}
{% trans %}Join this group{% endtrans %}
+ {% else %}
+ {% trans %}Ask to join{% endtrans %}
{% endif %}
{% endif %}
</button>
diff --git a/askbot/skins/default/templates/widgets/group_info.html b/askbot/skins/default/templates/widgets/group_info.html
index b0284cd5..ce7b252f 100644
--- a/askbot/skins/default/templates/widgets/group_info.html
+++ b/askbot/skins/default/templates/widgets/group_info.html
@@ -16,8 +16,8 @@
<div class="clearfix"></div>
{{ macros.group_join_button(
group_id = group.id,
- can_join = user_can_join_group,
- is_member = user_is_group_member
+ acceptance_level = user_acceptance_level,
+ membership_level = user_is_group_member
)
}}
{% if request.user.is_authenticated() and request.user.is_administrator() %}