GithubHelp home page GithubHelp logo

samuelsov / org.civicrm.module.cividiscount Goto Github PK

View Code? Open in Web Editor NEW

This project forked from civicrm/org.civicrm.module.cividiscount

0.0 2.0 0.0 809 KB

A discounting module for CiviCRM that can be used across Drupal 6/7, Joomla and WordPress

Home Page: http://civicrm.org/

PHP 86.26% JavaScript 0.54% Smarty 13.20%

org.civicrm.module.cividiscount's Introduction

CiviDiscount Extension

ADVANCED FILTERS

CiviDiscount now allows you to specify your own criteria for who should get automatic discounts. This is a powerful feature but does require some technical skill and thorough testing is recommended. Use the api explorer (on your site at the url civicrm/api/explorer) to help you discover the api options you could pass.

You need to specify an API Entity that you want to query and a query string. If you specify contact then the logged in contact id will be passed in as 'id'. For all other api it will be passed in as 'contact_id'

In this image you can see that contacts with a value of 1 in custom id field 65 (which happens to be 'are you retired' in this case) will get an automatic discount if they meet other criteria above - ie a minimum age of 65)

NEEDED

  • Enhance UI with an "apply discount" button that updates displayed prices on any forms

    • basically you want to emulate having the discount code sent in via the URL and let the person know if discount code is bogus
    • it would be nice to do this with ajax but isn't worth much effort.
  • Create some user documentation

    • Two types of discounts: automatic membership and code-based.
    • Supports discounted memberships, events, pricesets
    • Describe automatic member discounts (use random code never given to public)
    • Show tracking interface

NICE TO HAVE

  • Give some control over the placement of the discount code text field on the form.

FIXED ALREADY

  • Fix/check cividiscount_civicrm_buildAmount() for both online and offline forms/cases (event registration):
    • check multi-participant case well (currently this needs to be enabled in code)
  • Fix/check cividiscount_civicrm_buildForm() for both online, offline and renewal forms/cases (memberships):
    • check multi-step form case well
  • Check all transaction amounts match amount displayed on forms.
  • Fix or remove CDM_BAO_Item::copy(). Currently it's just a copy of CDM_BAO_Item::delete().
  • Adapt for 4.2 priceset structure.
  • Create menu link for CiviDiscount extension under Administer
  • Fix cividiscount_civicrm_pre():
    • When a contact is deleted, we should also delete their tracking info/usage.
    • When removing participant (and additional) from events, also delete their tracking info/usage.
    • When deleting membership record, also delete their tracking info/usage
  • Fix/check cividiscount_civicrm_postProcess() tracking for all forms/cases:
    • check we have correct participantID, membershipID, contributionID when it's needed for tracking
    • check generic generic contribution cases well (discount is not available for this)
  • Fix/check discount tracking tabs.
  • Generally clean up the code and logic.
  • Carefully review discount verification and applicability:
    • fix _get_discounted_event_ids(), _get_discounted_priceset_ids(), _get_discounted_membership_ids() to return events/pricesets/memberships only for active code
  • Enhance UI to show which discount code has been applied.
  • Fix membership discounts not working from civicrm/contact/view [Submit Credit Card Membership] - CRM-11028.

org.civicrm.module.cividiscount's People

Contributors

kurund avatar eileenmcnaughton avatar colemanw avatar monishdeb avatar dharmalabs avatar davecivicrm avatar deepak-srivastava avatar kajakaran avatar sdragnev avatar priyankakaran26 avatar nganivet avatar joemurray avatar generalredneck avatar twomice avatar labrown avatar mattwire avatar veda-consulting avatar stoob avatar relldoesphp avatar sunilpawar avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.