Coder Social home page Coder Social logo

groundwire / gwbase Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 11.0 1.31 MB

A Salesforce application that includes a robust collection of features designed specifically for nonprofits.

Home Page: http://salesforcehelp.groundwire.org/apps/gwbase

OpenEdge ABL 0.33% Apex 99.67%

gwbase's People

Contributors

dextermilo avatar greenstork avatar njjc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gwbase's Issues

More Flexible Lead Importer

On the Lead Importer, I think it would be helpful to be able to click "Next page" or "More" in order to see more unconverted leads for the particular Lead Source view. Sometimes, for whatever reason, we are not ready to convert a particular lead but we are prevented from loading additional leads into the converter because it always indiscriminately loads the first 20, and then won't let us see more until those 20 have been converted.

The ability to use filters beyond just Lead Source to be more specific about which leads to load would be helpful as well.

Change Rollup Field Labels to Differentiate Account Fields

Currently running reports that reference rollup fields is confusing, because we have the exact same set of fields with the exact same names on Contact and Account. It becomes very tricky for the user to know whether a field on a report is from contact or org, since SF does not in general include the object name. This is especially hard when selecting fiters.

I propose changing the org field labels to include the string "Org" at the beginning, and leave the contact fields as-is. We should be able to update field labels in managed pkg, although we can't update the names.

The one problem here would be that anyone who had created merge documents and SF email templates against these fields would need to update them. I think it may be still worth doing, as: a) a lot of clients won't have any merge documents against these fields on Account (Contact is much more common), and those that do shouldn't have a lot of them. It may be worth it for those few clients to have to make a few tweaks, in order to make this less confusing permanently for everyone.

Manage HH: Save on empty Household renders exception

Saving a Household with no members renders:

List has no rows for assignment to SObject

Should probably hide the save button if the household is empty. Also, code should not attempt to insert/update empty list.

Add Installments Wizard doesn't handle adding installments to an opp that already has installments

The Add Installments Wizard does not currently read the installments that already exist on the Opportunity, and it just blindly adds more installments and does not update Opp.Amount.

So it really doesn't work if the Opp already has installments. So this also means that for a normal single payment Opp, you can use Add Installments successfully. But if you go back to the wizard, you are out of luck.

New or Delete Installment doesn't update Opportunity Amount

When you use the NewOppWizard, we correctly setup Opp.Amount to be the sum of installments.

Later, if the user adds or removes installments from the Opportunity, Opp.Amount is not changed, and thus is no longer in sync with the sum of installments. This is just using the standard New button on the installments related list, or doing delete on an installment.

NewOppWizard: picklist of record types not sorted

Rectypes offered in the picklist seem to be in no particular order - looking at the code, they're fetched via Describe, and not sorted in code anywhere.

These should be be alpha sorted. When a group has a lot of rectypes, it looks very haphazard, and it's hard to spot the rectype you need.

change text of "Mark As" buttons on Opp list views

currently we have 3 list buttons on opp:

  • Mark as Lost
  • Mark as Thanked (Closed Won)
  • Mark as Won (Won, Not Thanked)

I'm finding those are a little too coy, and confusing to users. They should just spell out what they do. So I propose those last two should read:

  • Mark as Closed Won
  • Mark as Won, Not Thanked

Prospect Level field on Contact: remove or make flexible

the field Prospect Level on Contact in GWBase is a formula that is hard coded to return a value (Donor/Major Donor/etc) based on hard coded criteria (total lifetime giving, giving last year & current yr, etc.) The criteria is very specific and not likely to apply to many clients.

This field should either be removed (hidden in the DOT, renamed w "Deprecated" in the name), or should be changed to rely on settings and/or code. It's hard to imagine a series of settings that would cover the necessary breadth of options that might be needed here, but we could probably cover an acceptable range of options, understanding that some clients would still need custom logic using a different field.

As it is, I have hidden this field for every client I've worked with since it was put into the DOT.

Error in lead converter page if no individual account

When we go to the lead converter page, we get the default acct id in the constructor. In the case that there is no default account, our clever code tries to create one - but DML is not allowed at that point.

Repro:
1 Create a sandbox (it won't have an individual account)
2 Create a lead
3 Click convert (or click the importer tab)

Result:

  • DML Not Allowed

The solution is to move that code to a page load action instead of the constructor.

Support client overriding Household behavior

ifPeople would like to only have households created for contacts who do not have an organization. They are able to turn off our Household trigger support, but in order for them to provide their own trigger to do this conditionally, we need to make the GW_Householding class Global, along with appropriate methods.

We should also verify that our code in general is robust in the face of contacts without Households. I'm not sure that it is. I think we even have an already logged bug that the lead converter fails if it comes across contacts without households.

Lead Converter - problem when Sharing Rules set Leads Private

If the lead first matches an existing contact, and you change the choice to new contact, the account field doesn’t get enabled to allow you to create new account. It is disabled on Individual. If the lead doesn’t match a contact, this problem doesn’t happen. This also doesn’t happen if logged in as sys admin, or before I made Leads private.

Manage HH: Change address support for "modify"

For an existing household selecting "Change" button for address does not allow actually changing the existing address, only select from a list (which isn't helpful) and enter new address. It would make sense to be able to modify existing address as a third option.

Close Pledge Opp when last installment paid

we should add a trigger so that when the last installment/payment for a pledge opportunity is saved, we change the pledge opp's stage from Pledged to Closed Won. This will bump up its probability to 100%.

Manage HH: Give more feedback when removing Contact from HH

From Matthew Scholtz:

" I think the little red remove from HH buttons need a bit more context – either a tooltip, or an “are you sure” dialog, or a notice on screen after clicking listing “Contacts to be removed”, or fading out the name card until Save? As is, the contact is gone almost before you realize what you did.."

Manage HH: Non-gwbase fields are incorrectly given prefix when controller queries for HH

From David Habib:

"I just installed the latest GWBase in Groundwire's instance. it installed successfully. I then went to a contact record, and clicked on that person's existing household. I got the following error:

No such column 'GWBase__recognition_name__c' on entity 'GWBase__ONEN_Household__c'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.

I'm taking off for several hours and can't look into this now, so let me know if someone knows what the problem is."

Matching Gift Wizard needs to specify Opp record type

Currently, the Matching Gift Wizard does not specify any record type when it creates the Opp. This is problematic if the user's profile has a default opp record type that isn't appropriate. For example, Sean Pender just tried this wizard, and it created a Project opp.

My only question is whether we need a setting for this, or should always use the "Opp Rectype Contact Gift" custom setting? Also, does this setting make sense, since the Opp is going to get saved on the Org?

opp stage Pledged should show $0 total paid by default

Currently Total Paid evaluates = Amount by default for any Won opp stage, unless you create installments. That worked great in the past, but now that we have a dedicated Pledged stage, it should work differently IMHO.

I propose:

  • Total paid continues to work the same for all Won stages besides Pledged and Pledged, Not Thanked
  • For Pledged stages, Total Paid evaluates to $0 by default, unless installments exist

In the scenario where a donor initially agrees to make a pledge, but hasn't yet decided on a payment schedule, this would allow a user to put the opp into a Pledged stage for the time being, without adding installments, and have SF evaluate the situation correctly (committed but not paid). Then once a schedule is determined, the user can add the installments. (Or if the donor unexpectedly pays it all off, just switch it to Closed Won.)

Better handling in New Opp Wizard for rectypes we don't own

Some of our clients will have many special record types of their own. I propose that in the newOppWizard, if the rectype isn't one of ours (gift, grant, membership), we just bail out and go to the standard salesforce ui. this way they will get the appropriate page layout for their rectype.

Lead Converter - hits errors when there are contacts without households in the db.

we need to make lead converter more robust to handle no households, or at least gracefully fail with an appropriate error message. We will hit this too often when migrating old customers to GWBase.

I marked this high priority, because multiple team members have hit this when trying to upgrade a client to GWBase, and the error is never obvious and takes a bunch of time to track down.

Support recalculating Membership dates for Opportunities of Dupeblocker merged Contacts

Decide if this feature should be in GWBase or as an add-on.

Code and test Auto Membership Dates to be compatible with DupeBlocker auto-merged Contacts created with online payment integrations.

Testing is only possible by uploading the managed package, installing to an instance with DupeBlocker.

First draft of code is currently commented out in GWBase: GW_ContactTriggerAfter.trigger and GW_AutoMemberDates.cls

Opp naming can result in a too-long name

If an org name is long enough, you can't create an opp. Opp name class should check length of resulting name string. If it is too long, it should cut off the org name to the max length that fits with the rest of the name data.

Rollups should be more flexible and extensible

Would like to tweak opp rollups so you could add or modify what gets rolled up - for example, to add another year back in time. Probably implemented not on the current code but on the abstract class instead.

Contact Role on Opp breaks when contact name not found

When adding a contact role to an opp, if you provide an ambiguous name an error message correctly tells you multiple contacts found and select from the picklist. However, the save link is gone so there is no way to save your selection.

Chrome 13.0.782
OSX 10.6.8

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.