goeh / grails-crm-core Goto Github PK
View Code? Open in Web Editor NEWCRM core plugin for the Grails Web Application Framework
License: Apache License 2.0
CRM core plugin for the Grails Web Application Framework
License: Apache License 2.0
Hi!
I know that all samples are written for Grails 2.2.4 and i suppose there were some reasons to do so.
But i want to run CRM with Grails 2.4.4 (latest stable version for current time) because i already have a project based on this version:)
I don't think this task is very hard, but i first would like to know what are the reasons, did you try to upgrade version, do you think it will be a good improvement for CRM?
Thank you!
In CrmLookupEntity.equals(Object)
, if o == null
, you get a NullPointerException
.
If ! (o instanceof CrmLookupEntity)
, you get a GroovyCastException
Existing code:
boolean equals(o) {
if (this.is(o)) return true
//if (getClass() != o.class) return false
// TODO How can we handle Hibernate proxies here without importing org.hibernate?
// grails.plugins.crm.order.CrmOrderStatus_$$_javassist_7
// grails.plugins.crm.order.CrmOrderStatus
CrmLookupEntity that = (CrmLookupEntity) o
if (this.id != that.id) return false
if (this.orderIndex != that.orderIndex) return false
if (this.name != that.name) return false
if (this.param != that.param) return false
return true
}
The following commented line should be replaced:
//if (getClass() != o.class) return false
by something like:
if (o == null || getClass() != o.class) return false
or:
if (o == null || ! getClass().isAssignableFrom(o.class)) return false
A NullPointerException
will also be thrown by CrmContactAddress.equals(Object)
, so you should check all of the equals(Object)
methods in all of the crm classes.
If you want, the following article is useful for implementing robust equals(Object)
methods:
Are there versions of the CRM plugins for use with Grails 3.x?
If not, will you ever provide Grails 3.x versions?
Thanks.
What's the recommended approach for importing data and integration?
Two different questions here:
1> simple initial provisioning
vs
2> EAI - app integration maybe using EIP but then that gets ugly and uber complicated. or simple point-to-point integration.
What are you thoughts or experiences on approaches?
Is there something already built into the service layer for this?
Is there a tenant UI for admin management?
Whats the general practice on this?
How do we assign users to a tenancy?
Is this all groovy scripts or is there a admin UI is there a Tenant Service layer or just the TenantUtils?
crmSecurityService.runAs(admin.username) {
def account = crmAccountService.createAccount([status: "active"])
def tenant = crmSecurityService.createTenant(account, "GR8 Contacts", [locale: Locale.ENGLISH])
crmSecurityService.runAs(admin.username, tenant.id) {
crmSecurityService.addPermissionToUser("permission.all")
Does the user that creates a tenant does it "own" it by default?
What happens if tenancy is created and nobody is assigned "permission.all" ?
Ton more questions, but if there is a UI, then I'll investigate that. Otherwise, then I'll have to write one?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.