Skip to content

Commit

Permalink
fixing jqgrid for collections on list view
Browse files Browse the repository at this point in the history
  • Loading branch information
mikhuang committed Jun 10, 2013
1 parent 43ef015 commit de2fc78
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 14 deletions.
24 changes: 12 additions & 12 deletions deme_django/cms/templates/templatetags/listgridbox.html
Expand Up @@ -31,7 +31,7 @@
height: "100%",
autowidth: true,
multiselect: true,
{% if collection %}
{% if collection_item %}
{% ifagentcan 'modify_membership' item %}
gridComplete: function(){
var ids = $("#jqgrid_list{{ identifier }}").getDataIDs();
Expand All @@ -47,36 +47,36 @@
});
$("#jqgrid_list{{identifier}}").jqGrid('navGrid','#jqgrid_pager{{identifier}}',{edit:false,add:false,del:false});
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Columns",title:"Choose columns",buttonicon:"ui-icon-gear",onClickButton:function(){$("#jqgrid_list{{identifier}}").jqGrid('columnChooser',{});}});
{% if collection %}
{% ifagentcan 'modify_membership' collection %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Add",title:"Add an item to {% viewable_name collection %}",buttonicon:"ui-icon-circle-plus",onClickButton:function(){openDialog('addmember{{collection.pk}}');}})
{% if collection_item %}
{% ifagentcan 'modify_membership' collection_item %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Add",title:"Add an item to {% viewable_name collection_item %}",buttonicon:"ui-icon-circle-plus",onClickButton:function(){openDialog('addmember{{collection_item.pk}}');}})
{% endifagentcan %}

{% if cur_agent_in_collection %}
{% ifagentcan 'remove_self' collection %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Leave",title:"Remove my membership in {% viewable_name collection %}",buttonicon:"ui-icon-person",onClickButton:function(){$('#removeselfform{{identifier}}')[0].submit();}})
{% ifagentcan 'remove_self' collection_item %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Leave",title:"Remove my membership in {% viewable_name collection_item %}",buttonicon:"ui-icon-person",onClickButton:function(){$('#removeselfform{{identifier}}')[0].submit();}})
{% endifagentcan %}
{% else %}
{% ifagentcan 'add_self' collection %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Join",title:"Become a member of {% viewable_name collection %}",buttonicon:"ui-icon-person",onClickButton:function(){$('#addselfform{{identifier}}')[0].submit();}})
{% ifagentcan 'add_self' collection_item %}
$("#jqgrid_list{{identifier}}").jqGrid('navButtonAdd',"#jqgrid_pager{{identifier}}",{caption:"Join",title:"Become a member of {% viewable_name collection_item %}",buttonicon:"ui-icon-person",onClickButton:function(){$('#addselfform{{identifier}}')[0].submit();}})
{% endifagentcan %}
{% endif %}
{% endif %}
});
</script>

{% if collection %}
<form id="removememberform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=viewer_name,action="removemember",noun=collection.pk %}?redirect={{ full_path|urlencode }}" style="display: none;">
{% if collection_item %}
<form id="removememberform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=collection_item.default_viewer,action="removemember",noun=collection_item.pk %}?redirect={{ full_path|urlencode }}" style="display: none;">
<input type="hidden" name="item" value="" />
</form>

{% newmemberdialog %}

<form id="removeselfform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=viewer_name,action="removemember",noun=collection.pk %}?redirect={{ full_path|urlencode }}" class="item_form">
<form id="removeselfform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=collection_item.default_viewer,action="removemember",noun=collection_item.pk %}?redirect={{ full_path|urlencode }}" class="item_form">
<input type="hidden" name="item" value="{{ cur_agent.pk }}" />
</form>

<form id="addselfform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=viewer_name,action="addmember",noun=collection.pk %}?redirect={{ full_path|urlencode }}" class="item_form">
<form id="addselfform{{identifier}}" method="post" enctype="multipart/form-data" action="{% url item_url viewer=collection_item.default_viewer,action="addmember",noun=collection_item.pk %}?redirect={{ full_path|urlencode }}" class="item_form">
<input type="hidden" name="item" value="{{ cur_agent.pk }}" />
</form>
{% endif %}
11 changes: 9 additions & 2 deletions deme_django/cms/templatetags/item_tags.py
Expand Up @@ -1217,6 +1217,11 @@ def render(self, context):
collection = collection_item.pk
else:
collection = viewer.request.GET.get('collection', '')
if collection:
try:
collection_item = Collection.objects.get(pk=collection)
except Collection.DoesNotExist:
collection = False
fields = []
possible_abilities = all_possible_item_abilities(item_type)
for field in item_type._meta.fields:
Expand All @@ -1231,6 +1236,7 @@ def render(self, context):
fields.sort(key=lambda field: 0 if field.name == 'name' else 1)
col_names = [u'%s' % capfirst(field.verbose_name) for field in fields]
col_model = []
data = context
for field in fields:
field_dict = {}
field_dict['name'] = field.name
Expand All @@ -1245,6 +1251,7 @@ def render(self, context):
post_data['collection'] = collection
col_names.append('Actions')
col_model.append({'name': 'actions', 'index': 'actions', 'sortable': 'false'})
data['cur_agent_in_collection'] = collection_item.child_memberships.filter(active=True, item=data['cur_agent']).exists()
if inactive:
post_data['inactive'] = inactive
url = reverse('item_type_url', kwargs={'viewer': item_type.__name__.lower(), 'action': 'grid', 'format': 'json'})
Expand All @@ -1254,15 +1261,15 @@ def render(self, context):
else:
identifier = random.randint(0,100000)

data = context
data['post_data_json'] = simplejson.dumps(post_data)
data['col_names_json'] = simplejson.dumps(col_names)
data['col_model_json'] = simplejson.dumps(col_model)
data['identifier'] = identifier
data['url'] = url
data['collection'] = collection_item
data['collection_item'] = collection_item
data['item'] = collection_item
data.autoescape = False

t = template.loader.get_template('templatetags/listgridbox.html')
return t.render(data)

Expand Down

0 comments on commit de2fc78

Please sign in to comment.