Advertisement
Guest User

Untitled

a guest
Sep 8th, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. ________________________________
  2. in app_name/context_processor
  3. ________________________________
  4. from models import Charity
  5. import datetime
  6. from django.conf import settings
  7.  
  8. def charity_admin(request):
  9. charities = Charity.objects.all()
  10. return {"charities": charities,}
  11. _____________________________
  12. in charities/models.py
  13. _____________________________
  14. from django.db import models
  15. from settings import DEFAULT_CHARITY_NAME as deafult_charity_name
  16.  
  17.  
  18. class GetDefaultInstance(models.Manager):
  19. def get_default_instance(self):
  20. return super(Charity,self).get_query_set().filter(charity_name=default_charity_name)
  21.  
  22.  
  23. class Charity(models.Model):
  24. class Meta:
  25. verbose_name_plural = 'Charities'
  26. app_label = 'charities'
  27. charity_name = models.CharField(max_length=50)
  28. in_percentage = models.IntegerField(help_text='default value is 0,\
  29. leave blank if you will enter fixed amount.', default=0, blank=True,null=True)
  30. fixed_amount = models.IntegerField(help_text='default value is 0,\
  31. leave blank if you entered amount in percentage.',default=0, blank=True, null=True )
  32.  
  33. objects = models.Manager()
  34. default_instance = GetDefaultInstance()
  35.  
  36. def __unicode__(self):
  37. return '%s'%self.charity_name
  38.  
  39. ________________________________
  40. in model_name/admin_views.py
  41. _________________________________
  42. from charities.models import Charity, GetDefaultInstance
  43. from django.template import RequestContext
  44. from django.shortcuts import render_to_response
  45. from django.contrib.admin.views.decorators import staff_member_required
  46. from generoucity.mini_shop.extensions.deals.models import ItemDetails
  47. from generoucity.mini_shop.models import Item
  48.  
  49. class CharityReport(object):
  50. def __init__(self,request,itemdetails_id):
  51. self.request = request
  52. self.itemdetails_id = itemdetails_id
  53.  
  54. def render_report(self):
  55. data = {}
  56. item = Item.objects.get(pk=self.itemdetails_id)
  57. itemdetail_obj = ItemDetails.objects.get(item=item)
  58. charity_obj = itemdetail_obj.charity
  59. if not type(charity_obj) is type('NoneType'):
  60. data['charity_name'] = charity_obj.charity_name
  61. else:
  62. data['charity_name'] = 'No charity is associated with this deal.'
  63. data['price'] = item.price
  64. if charity_obj.in_percentage:
  65. data['charity_category'] = 'Fixed Percentage: %s '%(charity_obj.in_percentage)
  66. data['charity_amount'] = (float(charity_obj.in_percentage)/100)*item.price
  67. else:
  68. data['charity_category'] = 'By Fixed Amount: %d'%(charity_obj.fixed_amount)
  69. data['charity_amount'] = charity_obj.fixed_amount
  70. data['item'] = item.name
  71. return render_to_response("admin/mini_shop/extensions/deals/charity_report.html",locals(),RequestContext(self.request,{}))
  72.  
  73. def report(request,itemdetails_id):
  74. charity_report_object = CharityReport(request, itemdetails_id)
  75. return charity_report_object.render_report()
  76. report = staff_member_required(report)
  77.  
  78. ______________________________________________
  79. the template
  80. ______________________________________________
  81.  
  82. {% extends "admin/base_site.html" %}
  83.  
  84. {% block title %}List of books by publisher{% endblock %}
  85.  
  86. {% block content %}
  87. <div id="content-main">
  88. <h1>Charity Associated with item "{{item.name}}"</h1>
  89. {% for key,value in data.iteritems %}
  90. <ul>
  91. <li><h3>{{key}}</h3></li>
  92. <li>{{value}}</li>
  93. </ul>
  94.  
  95. _________________________________________-
  96. change_form.html
  97. _____________________________
  98.  
  99. {% extends "admin/change_form.html" %}
  100. {% load mini_shop_tags %}
  101. {% load i18n %}
  102. {% block object-tools %}
  103. {% if change %}{% if not is_popup %}
  104. <ul class="object-tools">
  105. <li><a href="history/" class="historylink">{% trans "History" %}</a></li>
  106. {% if opts.module_name == "item" %}
  107. <li><a href="/admin/charity_report/{{object_id}}" class="historylink">Charity Report</a></li>
  108. {% endif %}
  109. {% if has_absolute_url %}
  110. <li><a href="../../../r/{{ content_type_id }}/{{ object_id }}/" class="viewsitelink">
  111. {% trans "View on site" %}</a>
  112. </li>
  113. {% endif%}
  114. </ul>
  115. {% endif %}{% endif %}
  116. {% endblock %}
  117. {% endfor %}
  118.  
  119. </div>
  120. <div class="submit-row">
  121. <p class="default"><a href="/admin/mini_shop/item/{{item.pk}}/">Back</a></p>
  122. </div>
  123. {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement