[Vtigercrm-developers] [FEATURE REQUEST] Support Multiple SalesOffices

Jens Hamisch jens at Strawberry.COM
Fri Aug 25 14:20:17 PDT 2006


Hi Dennis,
hi *,

I've opened a feature change request in trac on this: #2035.
Attached please find a proposal describing the required database
and GUI changes.

I'm on vacation for the next 2 weeks, so IMHO I could start
working on this enhancement based on the GA aftar my return.


Kind regards
Jens



On Fri, Aug 18, 2006 at 09:14:39AM +0200, Jens Hamisch wrote:
> 
> Hi Dennis,
> hi *,
> 
> 
> I'd like to post a proposal for an implementation of this feature.
> In advance there's one item unclear to me:
> 
>     What is the "official" procedure to add items to the
>     vtiger_tab and vtiger_field tables?
> 
> As I'd  suggest the introduction of new tables, there should be a
> new table identifier on those. I'd like to ensure not to get into
> conflict with other addons and the ongoing process from RC to GA.
> So how do I "reserve" unique table ids? And is there a space for
> private tables (if someone adds private stuff)?
> 
> 
> Jens
> On Thu, Aug 17, 2006 at 04:56:59PM +0200, Jens Hamisch wrote:
> > Hi,
> > 
> > > I also agree that there may be a default sales office for
> > > sub-organizations, but I don't thing that sub-organizations is a
> > > prerequisite for having multiple sales offices.
> > 
> > yes ...
> > 
> > The problem I have, that I need support for more than one entire
> > organization. So my point of introducing organizational units was
> > to split this off the organization table. The wording doesn't matter
> > at a first glance. A 'sales office' or 'location' would just be
> > some abstract part of an organization.
> > 
> > > Jens, are you going to work on this?
> > 
> > Yeah.
> > 
> > > I'm going to be offline for a week (military exercise) so I won't be
> > > able to work on it for a little bit.
> > 
> > Have fun!
> > I hope to able to present something to you ehen you'll be online again.
> > 
> > -- Jens
> > 
> > --------------------------------------------------------------------------------
> >      /
> >  +##+|##+   STRAWBERRY                     Jens Hamisch
> > +v#+v v##+  EDV-Systeme GmbH               Managing director
> > / v    v\v
> > | . .  . |  Waldeckstr. 9a                 Car (Voice):  (+49 172) 81 04 162
> > |     .  |  D-82515 Wolfratshausen         Voice:        (+49 8171) 41805-0
> >  | .     |                                 Fax:          (+49 8171) 41805-59
> >  \   .  /   Tel.: (+49 8171) 41805-0       Email:        jens at Strawberry.COM
> >   \____/    Strawberry at Strawberry.COM      
> > 
> > _______________________________________________
> > Get started with creating presentations online - http://zohoshow.com?vt 
> 
> -- 
> 
> --------------------------------------------------------------------------------
>      /
>  +##+|##+   STRAWBERRY                     Jens Hamisch
> +v#+v v##+  EDV-Systeme GmbH               Managing director
> / v    v\v
> | . .  . |  Waldeckstr. 9a                 Car (Voice):  (+49 172) 81 04 162
> |     .  |  D-82515 Wolfratshausen         Voice:        (+49 8171) 41805-0
>  | .     |                                 Fax:          (+49 8171) 41805-59
>  \   .  /   Tel.: (+49 8171) 41805-0       Email:        jens at Strawberry.COM
>   \____/    Strawberry at Strawberry.COM      
> 
> _______________________________________________
> Get started with creating presentations online - http://zohoshow.com?vt 

-- 

--------------------------------------------------------------------------------
     /
 +##+|##+   STRAWBERRY                     Jens Hamisch
+v#+v v##+  EDV-Systeme GmbH               Managing director
/ v    v\v
| . .  . |  Waldeckstr. 9a                 Car (Voice):  (+49 172) 81 04 162
|     .  |  D-82515 Wolfratshausen         Voice:        (+49 8171) 41805-0
 | .     |                                 Fax:          (+49 8171) 41805-59
 \   .  /   Tel.: (+49 8171) 41805-0       Email:        jens at Strawberry.COM
  \____/    Strawberry at Strawberry.COM      

-------------- next part --------------
%PDF-1.4
%????
1 0 obj
<< /Length 2 0 R
   /Filter /FlateDecode
>>
stream
x??Y??\'?_i???\L??#E?v??^?]?/??U5S?????g&?V???V????m??H????_B
y?"Zu??m??U??F?Y~??O???=??? ya%`^~??WB)??Q??J?????wJ~|+???I_?7?)??<?O??<O?f?<N?f??v
U?|$?*??|???*???gX???????'????BSb??k?a????/+?mO???u??????x??(????????B??0?W\??g?1J?h?T?iH?gZ?g???5y?,1d?o???"?dP???????eR5+?*1W~????3?C?X?Y?\S?G??lWft??$}k????L????M?${???9?????6P??
?WK???Z{?6???F??? ??pC?EK?y
t???}|C~???C?`1F?S?QF?A?? ???r? 56?L???F?
?_A?m`D????v|?u|P????_???F0??Kl\??8F?o??zV;k??$?(?m_?qC*??????)XJ??)??@?=?$?????????5?y?M?w?pWv?/|?Jy???[???$??W?O??#%??x?):??eU?????T??H0?Zxx??JKOu???C?mJ"???????H???`X}11?.E??g??X??w ? ???j???Y??"!?Tkh?.???	FVNxV:?uge??ov*]?'?L)JR???P???????Y?d???pX??l??s???oB=Pf?RV4&??d??[JH??K@????X?u?)????y????K?S????9????j??\?F`s?8?46&??S???????2?Ru???Ba/#???F11b???{?????!2<?s????n????????iP???d?????z6=0)??z?xdW?[.Il??b???iu????????O???#?<??M?|N??r???\???9H???????T?????????d3?]??U?-????+??2I?<???.?u?5??-j??????Z?I@?|?~M????Z$?"??&S??a=?q,?Zc???R0?\j?e????_]??ia??-??|?CQ?>?wR??????J?/?BB}???phOe?????<3?R??????^?*Fn? ?`??I?4??X???)U?5?un>??1?cYb???,?D>??	?????`= B/U??o??1/?d<} ?5???T3?w^???n2c?-???x?;?
|0y=o???zt?wC???????_>?kx?Mcl?y??Y&3_???:????i?????9???I(j??1? ????o??Mo?e???t?2??ve?G??{?l-?Du????r?????HSLJ?h?sF??&S+????P?F5CK?:?;???8nT-4???6?WP??z?X?????9mh8??s????
V?J?}??5????P?w?=%??7{J??T???????.=^%J??'??????I[??(?>wIR?p
?r?W:J[??5???<v&??P3Y???:???????E&??l?+Q???????TFK?9f?6k??L?s??*???w????l??cT?????/1???Do???f?r1??W?B?K????????no??
1??;?9[ZFv??^???2*?9?e??U?-??*?2QV???g??J?&????lb????}??????.?_}{?>????????8??T????????x??endstream
endobj

2 0 obj
  1713
endobj

4 0 obj
<< /Length 5 0 R
   /Filter /FlateDecode
   /Length1 9796
>>
stream
x??z{|T???Z{???={?{&?d?0&<?0I?0	?C#??@F'O????p?"	???9j-z????p?`??z?h=???U???Xs????:???=CDk?????????;?^?z?{/?????E;A???5mO?>??)B?X??KJ????_????a????!r!??aSO??A?&??/!d???PSo?~?U?2v?s??A??X?SP??is??;?T???;P???????P=??&?/?\s???????fs????!??????????f???????u4??????m1oB??>Z at yZg??
?J?????h0?????Hs?gd?$??????O??u#?7???d???_~??????e
???? .?J???2??i??h???h???|??[
o?h??<????d1z?@???It???:?6t?`z?=t<f?S?	u1G?Z?j?m??^F????ss
f???r}?rfzgL?65;?6?????Hw?9?6??l2DA??j?*???X?`4???*?9^?????I???Z??,?Sw?2???I?_?g|??9Y?3???2???t?c???2??9??.??vJM*?o??6????a???#J????)???4?E?E
?????Z?0?v?-?2????;? ?.gf???1Y?Zb??0 ???????95q~??]???LI??E1????????tl???=?DT?j?=?5?????"Y?Mk(K)?????'?H?M??????)_?b??????ZT9?>???,???%0b????d???,?????{???[{??[UUe?K=? ,V?RG??rf&??b@}????RC?,m??dZ??4?CK?@05??Q?????????????b?5r??????[\?jJ
?V?	/?r'??|U?"J??f?3)???p?JovJ??;`??T'???J?K?
s?`?\Yy?Uf?9+?e?i??(???????R?j????#??y????e?l0<XsjbG?G=???/l+
????0????!g?lOUL7?y?{?e?*??nC??j??*?????.??????T?%`???*'????k O?T?@q???Sl?<j?;??E)????9t*?j??qwe?.?Z?q?yAa?s?f?e-??q?grz???(?TKL?=?'?VSi?????
???iQ%q2UI?q???`?E1??i?A??????q???EU?h @??????u?R???$[?'E?Z? ?(???6d?C??;8?gZ"@ ??&??z??zdj??
'"*?????}??x</??7???3????q?????=`????X_?u??N??gf?AZ3?)&?!v:Q}P#f
B?Z,??W?1??-?cd?a??1??H??-kI???F?f??K	???????????*?????7?#>???????m?????L??.?m??-Y??l???{??{ql?3?c/???????G?k????~i??m???~??=o`?z?b???4K? ??p#?t?QA????J?	!?QP??~?3?
?M@]???8*.*.??J??2??o?Z?l?A%l??????DEC??3d?{??o??e?{{????g`??u?"??AW?bzZ?E???????N??q6???w?8?=??e?r?J<5?YP?? ?JO??";?6????9`
????dE?????!:??MA?z?F???0DE??g~/??L?8????2?????x:??;???|?!????n?zQ?\)7?
	y??Y^}D???(?????=?J?b?P?X?V
?TbkV~7P???2???~zC?????????U;J.?Y4w??????U-?V?X??%???????a??~?????jP~0??'?{??Z??J?(???2't*?W?C?,?D??J?HV??????l???_|r?21?.1??S\w? ?r`?:YRq#/?/O[??1m{?Pgry\?L?HX!T,??#?3?b?ff???????L?x???S??L??t??)???9.??]?=?`,:S?w?????wDV?Q????)????????o?(?T???e???B!l0????????@?`6(]?u&C
?r???\??e?O??tE?;"??????????\???V?1?fz????:-?z]o?????????J?N???	6????-\
\??'GP&?,?bq????R?_?W8?Q?2"V?Q???K?E,?Z??o?b?~?12?????F??4????v???@@q?x!???	??
6qQQ^.?S&-??????e?v??H??U???-8qb??h???????{+??'??z?gvI????={??????;??\?A}VpN?t?????`?Q+?^?JE?(H?U???!!(0BR?)e????S??&?G???93???'8???????3nOD?h?Zz'??t?????,?l
 j?zC m? ?]Pg?t*?1	#*q 
???d/5?5??=?n?3F??6????C???P	?? [c^n??B??N????wG?51??O??????????o??????jg??*??k???~?????L?e?Y+??VT???~????7?6'-Jv{?b1??/G?J&??"??????[r??????	0??C?O???6l_?4??????9?????r?p??4???6c??.?N?L?????6#?4????z?H????d23I?????K??:S???d?<^?U???O???m?G?1??jN????C???H+?%?5??}\?9?b>?.?????B?B_?12?????H?????????????c*??R?????}?G_???H??j%?	?<?^???{????-?$q??_={v[?????_~?s?#???v??????????m55???4??k??M?Pv???~?3?a"!??|??p??p?6??{?q!?????I?=?#???G	?%?PmUN?@|??e??`?z???0?C+??????1??BX30?0&v,?bR????"???r??|! '?3R???0?E.?(?O??z?P|?8??????/g?y?r?? {
?????sq?8?Z?-Sp^?%???0o?
#?	?6?(????u??? b?U?U??:????'??????x?@Va?Aa1???`6?(??????|?xU?9???kW7????I?G???????s?>?c?C?????VO? ?&???w?9?p?+?1???:S???(? ??,\)??[ko?r??t???1=???@I/?8jI?P?P> ?8N?'D?9?Jnds??+??j??UIJ??
?t?{?z??u?3??,???"?yB?{c8??y?z?G????~t??
l?z???????c?5D?$????v?mh~p?xl^s??R*,?T?*U#iV)-+???C?8??'?????Dh<?|?L	D????d1#?????,??????????!??z?
?s?#\?x???hL\?w#?y?h??%~v?????????>??{?5??????m?:#p]5??????????2?	*p?G?9?-?A??k?z??
m?????;I???jzj?????.????{?By?=l-s5?6?m?n?2?7?i??f?l?b??F???h???Z7?<?jsd0?|2?%?u?M?8_T??E6l?e???u???? ???`zTB?(??????????C??O:#?
!?Cv%?0ZvJ~??XT?e???x?T7x??NY??????l<?K}!w???????g??X??o????j??\???o~]}??+?bYS??+74?TwC??????????u??-?
s????SK??O????s??????7??-	??di???s??Kn?M?g?. ?*P ???	\?x3X	3??,0<?CA?c>?M?1>???m?- ^b????_??*?G??????d???
dA??fn??j???????j????M?	6ee??2??x???r
??2)H?f1?+?'????????N?b{????????%???a
TE??`+&??n?_????m???g?#H4???a?lLk?u?%/9???,?XP??dwE?F???v????7?5??????;~=td`??????o_}%?'????;x???=?3z?RW?E??j??????0?).T6)YV?R5??`???1????P??}
dV(?/y?
bCx???T?$?B,Ks???!????vSN??r!\*????!n?'?T?e?_=!?*???????Q| Q????<P??????S?Ieb??????:?`%FaT%"???3h?Cy?y|2???&	????8?m?????db?O7???Mk?y??e3??F?f??
???m????^9K]???/??)A?J?D?D?B??	B??????x?!??A?F^&BD??Z???c.???e?(e??k?g?,<??Om{??Om?l?<????3??&??N???Y?0?????????s
??At\?n???~?0z?(L1?????Uf??7^?1B???C????I?*N??P273?z?=?d?"='??:?n??V?<?D????G:!g???"????M?);??N????>'u?I?r?'U????'?<??3'
?V??~? ?G
=?????9???6W?????Jx/a^2?.?Y?Y?/?y??_?s??%o??	vp?????B at uj???R@??????0~?`2&d?Vaw:3??F?Z??#>@??,acI??	?j???A?eOz????%?Y?B??J? ~??K+??????????ujA?{???#=?<???/?~?z?????????fY?=?my??j5?~I???ucz?7?j?]4??u/?????sU??a?F?4?C??8?3 ?????A?&??+??6?Q????4+??x???t????+???H?YqQ?H???[???-???????Yx??iW<xb'??s?q????????q0??K?????j??J?R?b?]h??&?B?C0?T?458???^?{Q??U*H<??*a#?? )??
,	5?"?(|6???CrK??U??P)??b?????????_?G??c??k?~<z-?^??p4? ??c????,q??_N\JF??K??=8????'2[5[??%kd%T????ZD??E??Y8?vUj8??W)?<?g??0???
1?h?j???
V?h??"\???*??!?!??
?W??,?X????O P???2??9???C????7?s???:s?Z?kr???$_?&???&.&Z
?$n?O4^??G????L_????????A?P???????X?#HfA??#`?$???Y?1???	??1?????rp???
?????7???"?z?? ??$?M??????@n??k$c??c?3o??$?#????c?	E?G??oe?????7X??v)?+'B?????Ekb?-?Ea?????&f?????F??a
!????????_@???I?J?b?? ?(??GQ5???0?
dc???\?f???gFQ??@???v
k#K????'?cA????_p??e??^???&??	????>???{?a~!?????X?Q?@qU9MY???JS?R???)=h?l? "??Q@???F{E??I^????8?????S8A.???????p????p??!?+???;?*X????1?37R8??D??	ZH?R8???2?sh6iK?<???? ?N-n???????^??????Z?z:?74uIk????[Z?z??E?m?5]??[????????n??I?GwJ
?
[?gIK??uu???CRs?T#uu??7l???(?6??U???\?$m???j`?
??]
@U??????????????::?s??6??5?6to???\8G??WJu??V???I?????W??y???hs?(:h????????m ???P=? j?^XjEm?u?????Ze?+?o@???-???8???+???
??C9)? ?????&x?[???k
P6@?U???\#?cW??[????????.y?z????ZQ??????p?&??j=P??3(e?]?d???j?g??-?g?z????	c?j7??????i(}k?*y?n??g?K?s??????f??q2?????zrSk?L?6??I???\??Jt??Kh??????|???w\???)~?????w????????{??B?"????m?????w?%??x?N?N2???}????a<2Z??????%?|W???H??{?]? ??{????|W???|W?7?%??z????^?y?5?[???Vg?5??????YO)Q?????jK??jsnjul?bun?????b????fKzc?????hh2;?????X???q?} ? {? v ?D? z" ?OT+]?????}???G??
0P?t?D?????Q?j?C???j??
?????JW =|* ??}??R`1??~?6?????????Y??9??~?t!{???,a?G/??L??????;?t?Mg4?u?h?juz-??C?L^????B??u?W??yJ)T??\????c??h????	C??$??.????{???????0~?
Zc?C??c:?@a\?n}?)?????O???????TYU????/_]k????S???*H???{Q?H?I=?4?Z???6%??1=@?????/Gt????????n????Q
endstream
endobj

5 0 obj
6721
endobj

6 0 obj
<< /Type /FontDescriptor
   /FontName /CAAAAA+GillSansMT
   /Flags 4
   /FontBBox [ -161 -229 1040 916 ]
   /ItalicAngle 0
   /Ascent 929
   /Descent -230
   /CapHeight 916
   /StemV 80
   /FontFile2 4 0 R
>>
endobj

7 0 obj
<< /Length 383
   /Filter /FlateDecode >>
stream
x?]??n?0E?H??????)BJ?F????LR?? ?,???{iUu:??x?=?f????W??o?Bzul\???^}%? ????6?n?????e??_?.???????*?????K?oj?????a????wR??M????u_r??8?\?rk>??sy!?~_M?????:Q???Um-??????$a???\?v?<???w??Y?c?Y?1Z?q??? ??# ?0????`????$,k?=X`H[??<r??w;??	hG?'? ?IQ@?? }2???h??0?? }Rt?'?M> }4}2:??4}??M?]?X0??h???.????8?3F?w????? a?18??4N~??k;?M?oP??endstream
endobj

8 0 obj
<< /Type /Font
   /Subtype /TrueType
   /BaseFont /CAAAAA+GillSansMT
   /FirstChar 0
   /LastChar 34
   /Widths [ 1000 250 479 500 384 277 729 426
     770 219 437 500 500 280 500 500
     500 500 823 395 426 416 333 551
     666 509 219 323 500 323 458 250
     500 719 437 ]
   /FontDescriptor 6 0 R
   /ToUnicode 7 0 R
>>
endobj

9 0 obj
<< /Length 10 0 R
   /Filter /FlateDecode
   /Length1 9292
>>
stream
x??:{|?U??~?$????N??|i(CI???j5?/???R?E?I???<Z??K?L????*?:???t??@??3?"??:+???(?3B???_Buw~???????{????9?:???H?6"VE??}w???_!?

?w????A??x??m????\0!D? !??|???9ew?!?L d???4
g6+r??????h?@?hOm^?y??VM?C{?????????D(#???"w??k?e??mqudUt?R???1?m??1???kok??=?????A???0|?G(G????B?JSk?:^??&??j??;22?8EW???a?R???F?g??]?/M???@????^????5?????#4??yY?/??>?~?????i???a????? ?????~'??V???K???_???y?????F???8E?VlD?P?P?????
f?}?y???3<WN?"gZ?Tw?KtN??p??mV??d4?^????TJ?24???????+<??U??j?_?N?????2\6???E_kg~?=e?}C????r??!T?N??@?l\'?U4??+b	{Yc8+????????"E???:??]M?????Us???k??P?W??R?;#a?$??
-??@w9?#?/G?'?m???e?0c?	?,???c?`$??C3??oP}??it7F???"@?!DgW4?9V7?	6????b?????9??V}k?t??j?\?	?	?'q????????I???OL??????.R???????
7l?U??+6o??$O)4?[??-BgE????i?*? O?h?D??????FwEc??4?{Y"X#W?fI?? ???.??? #?<.?s%?=???????;?j??	?z?????H(?6H?
bU??a?lRDg????????0???rU???b??(?????.???z?l?sD?Jwe????-V???#???????4~[EN???U?G???u	!???????
8\??K??KM&????)????
??jj]"???:????5?'kbH`??A?)?EgO??,??\?:?????7?&?"?w<??^?#LF?]1?LF6^?\v?)??0jN(?M????X?|U[???hr<a,??T]?4??<p?KV?Wx?A	/??'??s????< ??"????????V??Ir?(r?Ap??B.?K?
??/6??F?F??\ M|?/????0?q'6???e??4e?i?e
l6KY?b??8??N??0???
A"??V?a???O?n?{h????v ?7d(.??@I?P(??	??3=}??????*?O????????;w?/???????b?w?-:??i???v1g _
?Z??z?4???<O
?x%?P? ????;^????~??K?>/
????<lv?M????????????]????KW|/~?X???K?+o*:}???x?*|D:
?Zd?}H?x47??
Z,E???P??????V??????\??j??N???h??A????W{?????
gQ y<?y?Y?~D)BzZ.+?????X:??%???'???f?4??P?@??H0??`??????? ??E??VW???ZmRc?Z?C?TZ?(gH?sI?Z?Cz?+?k??lN??ly?:????af??&?`?d?,R?"?`?l???B?????d2???b ???74???(?;?cc????t?b?g????C!?7????&???Z0?h(
??,2??A??F??M:?k??JO{f?M?????:?.???1??????????H?m????N??Z????i?;]????oh???Yu?9???[^L4?????+???????k??D?&>ffB??GT?[???????AH???
?`P	???L?jT	????k??J???Q?p~?? ???0|d??????<???P?,??!??la?4wc:p?o?+?v????_?z??G?x???'p??
X??W?Ez???~??(??^0?}@#?2??B?3??ax???u#?pN?|???~??g????Q???MWwT?.]?M:M'?O?k????	??L?
?0x?G??-? ?T)?-???F?F?]???<uP???S??? VA??w?Vd??KDz?D??p????J_H??J???????k??7?????+O????}8???N????#?M??\?<??????4?BqR?f?h???+8?q?d?k??F?7v ?????q4g????i?TX?r??c???b?V?q?0?v?P%}:??X???.r??5?????1????Pm?K??<U+m?????F?A?t?v?	???????????W??b???/Zx??(p??.4hs?F?WO%??i4??
?R	Z?P3i?Q???XR?ME??????d{?t?F?M?BBs4??IK{L+?????p?B?R@6p??`???MK? xY(]? >????R_???x?V??b?n????/? ?[?k???<8??}???6???v+M?!???V?????= ^f?&???????%?t????|?s
R??????{?9ob?4???}??%????y7?]???E????>?/-i?	??'c@?????&?q?[e???????W?7Z?~^,6?????c?67?M-????}?y??????????|/=l7????*J??M8?1?J`_??????????B=!??B???O?tv???,???7???IwI??O???\?k?????????%?????w??8??,?4??PT`??nf????|? ???S'??i:N??4?n?G??????O??o?????AT??????6????g'F??I??m ?D:r??d??)?Z?????????K?U??C4?5?0??*M?^??6#C??`???GN?I9{??N?B$???M?^pq%B???q,?x?9??*?.??E????epIW?v??5??=?w????v?????????6
??????.niX?~???????Fui??Y??????Ga??|?????
?*?m???????{??M\;"_???Ia??&?e? X?i?xo???
??8?u?tO_??e]O?M Xn????g????e??+?yUl?2V????t3???`)?X??A(,S??"???????xI???M%3C???Z??*_T2?B???b?Z-8h?Y%???,M?"A@c??ac?0?5?C?</???$???`M? ?M?????f??)I?!??DZk?lIz??g???MJ?????,???h?A?H??n(g??}4s`??\<c?????||?=??m?????|?1{????????t????[6?	????p?\?7h????T??????t;????Z#?:(2?W
????Fz???+?*F???F???v#???4?n?;??,?????i????)?i??'\???g???*?f
&H??O?I?f??YS?0+?~???
????E?xn???^??N<?Y???:??wf]1????-???.[?i?
m?G????j???`f??o????=!O@??'??&?Z?????k??????<??J{????? ??????????Y???????k?????^8?!&_????N|LOSi^%?4Q0?<b?|\1?kA.2???R@???n|?,???^?g6<??????z?4?}?????D9F?H???e???n????*JT(l???4?1e2y?P?5?????7?pfl??2F?<Cg??J%????$% TX')??$?R??:?Y?'??uT:????f??????$?Y????_>0??????w?A????;?	
????V???+?;?FC???? ?,?Bc?'??o?$?jJ"8????bFX? gqhmp????4?z????x|;?@?K3?+,gbY??
F&??!<?(?3?(??,???h{SO'???N??u
?d??.v????kO>???n0???+??x-????	?h&????=???1?w?w<?O?2?4???{??RphV
o???Y3??!$??z????{UG?I'?et????k??b?U?:.?~y?C?e????/7u??H?{a??_?????9??o????z?_/?)???h0????7????J??+??.??????10a?O?\_??{;~!??k"6????G??S?????a?9?'?)Pqp
?AI?P????<??X
P`?!?Q??pJ?$6c????n)??X??????q????????T??y???;(???*?4?
?@?K?`???? ??Td??P? +?M???+??????? ?<?N?$?n!9??;??RIb?&=?/?n???(????ts[??????z`?2l????P????
?S?g?]????? ?A???) N?_???QD???4E?2$?{<???????dS?O?Q???A?mw?N(}??3??U3q??p???@?????&?????H?`^?h?c at d? ??8t???????m(??Cm??Z)?(??kBr??"W?1?o???f?n|??????m?Er`YK?A?^?VoQ_J3<X??W??	?PW???#F???s?y?????A?y???y????L$????z?>????[?????????uRK.V?????A\4?`p?i;e?7??1Q?_Q??KH?k?4yT??J?(?ZC?19?_?IC*(D?????????h?n????>????1)?3??r????\V}?A?id\?????L=?;bu???T2?k:?77s??N?y/?t????)???????d????????????R5?+{?Z??DuT????????y?9??k???7$??m
~u_?9R'9p?Uo^??`??4]???<U?w+y??U????P|?w????p??Ny?f1*fZ?z?R???<(???=
???0??%\??P9s ??a>?2???v?? ?$?3!xaN?c???????? ??\??????Z?&?.?Q@?{???
??????^Ao???'?f? `?`?q??F?q?B???QlS<?xYiW^????y?????t?"b(??y? ????EF??IY?L??+t$?Sp!??i??N?p???)??????!UW???	?06???wR8F6??)?BJZH?4?M?R8??????Yt{
????? ??-?-?u???6??????????=???S?i??[W?v?k??e??m????X?j1??8???????+Eyv??????m?)^??E????X?;?#??U??bk?????XC??*?N???f?c??v?*?Zl??wF?n?j?u4????????kJ[W6N??+~uH$c??Xm? ??f????pj~??Y!?Jf.???l??.3?,v9@'??(???v??emhj?g5C??j??B??Vt?x??S?v?I?w$3D??????rSX?	?s?J??_??CnE??B}?L
?y?H?]???????????N??F??
?v??ZQ??D?ZX??'????^^A([.??)???UL^? ??%?-?
?????n??? ~??
??????0????~?????u?b???I^}@M^j??)^??????Y?????$;?N??R>
A???m?=m'0:!???<????(F#??8?7??????-CS?/?M?S?>?+?
??=???-W???s??s???t9??Z???x??dO?38?rGm???^??7^???????????)t??-N?'?gc??????o????sS??d??d?nqtY?;-?K?eX??????k??V?ce?}?j?c?????????????3;?b?h??m??I????.? ?? |? ??	???w?R?sWH???v?m?(? ???U:? ? ????
?Q:?|?[??? ????[ "7+?a ??P, O?2?|?A??"???l.0f?y?Y?3???\?????L??\?J????????l>??]??????????f?Uk0?????h?:
??#?B??V?0?q\?t?W)?t???f+?U~?0?G?kJF?????3Y??y?'?U????{u????cT?`?SP???Z;??d8.??{???xc|?6?$VW??L4?_T?h??K?rOf?????d??	??|?j??F?FN*M6?????????????v??w{?d
endstream
endobj

10 0 obj
6200
endobj

11 0 obj
<< /Type /FontDescriptor
   /FontName /BAAAAA+GillSansMT-Bold
   /Flags 4
   /FontBBox [ -176 -229 1165 929 ]
   /ItalicAngle 0
   /Ascent 929
   /Descent -230
   /CapHeight 929
   /StemV 80
   /FontFile2 9 0 R
>>
endobj

12 0 obj
<< /Length 383
   /Filter /FlateDecode >>
stream
x?]?Mo?@??$??=???M?EM<?#???%)Y???/?/????;3;??x?a{0u??w?????T??????R?Q??q??.?;?W6E?:????.?4sj?z?:JyC???75?T?Q???f+??9??W?s)?v??4bz??N??JNc???{-Q???j????|H??y?D\???l+?tE)?0gq????j????#???.?u<???????Q?? ? ?+??? "B?? @???EX??m??<BV?X`?r??v?ao{v?G?>?5}??&???L>hG?'? ???v4}?=?>1?>1???IX`?ai??P???3 }?u@??'?\0????????????Wk??cp????<??k;?M?_,???endstream
endobj

13 0 obj
<< /Type /Font
   /Subtype /TrueType
   /BaseFont /BAAAAA+GillSansMT-Bold
   /FirstChar 0
   /LastChar 34
   /Widths [ 1000 719 405 270 541 551 448 277
     770 676 884 551 270 551 801 530
     583 426 604 500 583 958 270 509
     500 594 583 520 333 583 270 509
     583 551 583 ]
   /FontDescriptor 11 0 R
   /ToUnicode 12 0 R
>>
endobj

14 0 obj
<< /F1 13 0 R
   /F2 8 0 R
   >>
endobj

15 0 obj
<<
   /Font 14 0 R
   /ProcSet [ /PDF ]
>>
endobj

16 0 obj
<< /Type /Page
   /Parent 3 0 R
   /Resources 15 0 R
   /MediaBox [ 0 0 842 595 ]
   /Contents 1 0 R
>>
endobj

3 0 obj
<< /Type /Pages
   /Resources 15 0 R
   /MediaBox [ 0 0 595 842 ]
   /Kids [ 16 0 R
           ]
   /Count 1
>>
endobj

17 0 obj
<< /Type /Catalog
   /Pages 3 0 R
>>
endobj

18 0 obj
<< /Author <FEFF004A0065006E0073002000480061006D0069007300630068>
/Creator <FEFF0044007200610077>
/Producer <FEFF0053007400610072004F0066006600690063006500200037>
/CreationDate (D:20060817201019+02'00')
>>
endobj

xref
0 19
0000000000 65535 f
0000000017 00000 n
0000001815 00000 n
0000017415 00000 n
0000001842 00000 n
0000008668 00000 n
0000008693 00000 n
0000008932 00000 n
0000009397 00000 n
0000009754 00000 n
0000016060 00000 n
0000016086 00000 n
0000016331 00000 n
0000016797 00000 n
0000017162 00000 n
0000017218 00000 n
0000017285 00000 n
0000017553 00000 n
0000017613 00000 n
trailer
<< /Size 19
   /Root 17 0 R
   /Info 18 0 R
>>
startxref
17844
%%EOF
-------------- next part --------------
Database Tables
===============

New tables
----------
    vtiger_orgunit

	Description:
	    Defines a oranizational unit

	Columns
	    orgunitid		serial NOT NULL
	    orgid		integer	NOT NULL DEFAULT 0
	    type		character varying(30)
	    name		character varying(60) NOT NULL
	    address		character varying(150)
	    city   		character varying(100)
	    state  		character varying(100)
	    country		character varying(100)
	    code   		character varying(30)
	    phone  		character varying(30)
	    fax    		character varying(30)
	    website		character varying(100)

	Constraints:
	    vtiger_orgunit_pkey
		PRIMARY KEY (orgunitid)

	    fk_1_vtiger_orgunit
		FOREIGN KEY (orgid)
		REFERENCES vtiger_organizationdetails(orgid)
		ON DELETE CASCADE
	
	Indices:
	    vtiger_orgunit_name_idx
		ON vtiger_orgunit
		USING btree (orgid, name)

	    vtiger_orgunit_type_idx
		ON vtiger_orgunit
		USING btree (orgid, type)


    vtiger_orgunittype

	Description:
	    Defines the values to be entered into vtiger_orgunit.type

	Columns:
	    orgunittypeid	serial NOT NULL
	    orgunittype		character varying(30)
	    sortorderid		integer DEFAULT 0 NOT NULL
	    presence		integer DEFAULT 1 NOT NULL

	Constraints:
	    vtiger_orgunittype_pkey
		PRIMARY KEY (orgunittypeid)
	
	Indices:
	    vtiger_orgunittype_type_idx
		ON vtiger_orgunittype
		USING btree (type)


    vtiger_user2org

	Description:
	    Defines a list of organizations a user may work for

	Columns:
	    orgid		integer	NOT NULL DEFAULT 0
	    userid		integer	NOT NULL DEFAULT 0
	    primary		boolean DEFAULT 0
	    
	Constraints:
	    fk_1_vtiger_user2org
		FOREIGN KEY (orgid)
		REFERENCES vtiger_organizationdetails(orgid)
		ON DELETE CASCADE

	    fk_2_vtiger_user2org
		FOREIGN KEY (userid)
		REFERENCES vtiger_users(userid)
		ON DELETE CASCADE
	
	Indices:
	    vtiger_user2org_orgid_idx
		ON vtiger_user2org
		USING btree (orgid)

	    vtiger_user2org_userid_idx
		ON vtiger_user2org
		USING btree (userid)


    vtiger_user2orgunit

	Description:
	    Defines a list of organizational units a user is
	    assigned to

	Columns:
	    orgunitid		integer	NOT NULL DEFAULT 0
	    userid		integer	NOT NULL DEFAULT 0
	    primary		boolean DEFAULT 0
	    
	Constraints:
	    fk_1_vtiger_user2orgunit
		FOREIGN KEY (orgunitid)
		REFERENCES vtiger_orgunit(orgunitid)
		ON DELETE CASCADE

	    fk_2_vtiger_user2orgunit
		FOREIGN KEY (userid)
		REFERENCES vtiger_users(userid)
		ON DELETE CASCADE
	
	Indices:
	    vtiger_user2orgunit_orgid_idx
		ON vtiger_user2orgunit
		USING btree (orgunitid)

	    vtiger_user2orgunit_userid_idx
		ON vtiger_user2orgunit
		USING btree (userid)


    vtiger_entity2org

	Description:
	    Assignes entities to particular organizations

	Columns:
	    orgid		integer	NOT NULL DEFAULT 0
	    crmid		integer	NOT NULL DEFAULT 0
	    
	Constraints:
	    fk_1_vtiger_entity2org
		FOREIGN KEY (orgid)
		REFERENCES vtiger_organizationdetails(orgid)
		ON DELETE CASCADE

	    fk_2_vtiger_entity2org
		FOREIGN KEY (crmid)
		REFERENCES vtiger_crmentity(crmid)
		ON DELETE CASCADE
	
	Indices:
	    vtiger_entity2org_crmid_idx
		ON vtiger_entity2org
		USING btree (crmid)

	    vtiger_entity2org_userid_idx
		ON vtiger_entity2org
		USING btree (userid)


Changes
-------
    1.  vtiger_campaing should be a vtiger_crmentity
	-> Add the following constraint to the database

	    fk_r_vtiger_campaign
		FOREIGN KEY (campaignid)
		REFERENCES vtiger_crmentity(crmid)
		ON DELETE CASCADE

	-> Provide a migration script for already stored campaigns
	

PHP changes
===========
Administrators Role
-------------------
    1.  Settings -> Company Details
	- ListView
	- Add
	- Delete
	- Change

    2.  Settings -> Users
	- User is a member of one or more companies
	  (implement like the group membership assignement)
	- Assign one main company to the user (out of the 
	  membership list).

CEO Role
--------
    1.  Settings -> Company Details
	- Change deatils only for the companies, the user has a 
	  CEO role for

    2.  Settings -> Company Unit
	- ListView
	- Add
	- Delete
	- Change
	
    3.  Settings -> Users
	- User is a member of one or more organization units
	  (take care to provide only those units of organizations/
	   companies to which the user already is assigned).
	- Assign one main orgunit to the user (out of the 
	  membership list).

Standard user role
------------------
    1.  login scheme
	After the login the authenticated user gets another 
	window which lets him select the organization/company
	he's going to act for in the new session.

	Open item: Skip this second login step if there's only
	one organization assigned to that user?

	My proposal:
	    For the time being: yes. 
	    This would be subject of further FCRs (like book-
	    keeping - booking date selection on login).

	Open item: Display the organization selection somewhere
	during the entire session?

	My proposal: yes, upper right corner with the user name

    2.  Assignment of entities to exactly one company/organization
	This affects:
	- Quotes
	- Sales orders
	- Invoices
	- Price Books
	The company assignement is taken from the selection, the
	user did during login.

    3.  Assignment of entities to more than one company/organization
	This affects
	- Leads
	- Accounts
	- Contacts
	- Potentials
	- Products
	- Campaigns
	To the modification/add forms another list entity is to
	be added. This list fills the crmentity2org table. Users
	may add/delete entries to/from this table.

	Open item: May this table be empty?

    4.  Assignment of entities to orgunits
	This affects:
	- Quotes
	- Sales orders
	- Invoices
	- Price Books
	The company assignement is taken from the selection, the
	user did during login.

    5.  PDF generation
	Addresses to be takenout of the organization table according
	to the organization reference of the affected entity.
	Addresses may be overridden by orgunit references.

General
-------
    1.  The role assignments shown above results in permissions
	to be maintained.

    2.  Do we use the term 'company' as in the GUI or 'organization'
	as in the database? (No preferences from my side ... only
	that there should be a common understanding).

    3.  Should there be a more sophisticated relationship between
	entities and organizations (also orgunits)? May like

	    If a product is assigned to company A and B:
	    May both companies change product details or should
	    there still be an ownership assigned to one of the
	    companies?

	This could be done using flags in the entity2org table
	but would result in more sophisticated GUI operations.


More information about the vtigercrm-developers mailing list