Ñò Ã#xPc @s¦ddklZlZlZddklZlZddklZddklZlZl Z ddkl Z ddkl Z l Z ddk lZedƒZd Zed d ed ƒƒfZd e fd„ƒYZeieƒdeifd„ƒYZeieƒdeifd„ƒYZeieƒdeifd„ƒYZeieƒdeifd„ƒYZeieƒdeifd„ƒYZeieƒdS(iÿÿÿÿ(tapit_tngettext(tFlagtStr(tcontext(Rtcrudterrors(toutput(tObjecttCommand(tgen_pkey_only_options Self-service Permissions A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc. A Self-service permission defines what an object can change in its own entry. EXAMPLES: Add a self-service rule to allow users to manage their address: ipa selfservice-add --permissions=write --attrs=street,postalCode,l,c,st "Users manage their own address" When managing the list of attributes you need to include all attributes in the list, including existing ones. Add telephoneNumber to the list: ipa selfservice-mod --attrs=street,postalCode,l,c,st,telephoneNumber "Users manage their own address" Display our updated rule: ipa selfservice-show "Users manage their own address" Delete a rule: ipa selfservice-del "Users manage their own address" u selfservicetacitlabeltACIt selfservicecBsøeZdZeZedƒZedƒZedƒZedƒZ e dddded ƒd ed ƒd e d d ddƒe ddddedƒd edƒde ƒe ddddedƒd edƒde dd„ƒfZ d„Z d„ZRS(s Selfservice object. sself service permissionsself service permissionssSelf Service PermissionssSelf Service Permissiontacinametcli_nametnameR sSelf-service nametdoct primary_keytpatterns^[-_ a-zA-Z0-9]+$tpattern_errmsgs2May only contain letters, numbers, -, _, and spaces permissions*t permissionst PermissionssMComma-separated list of permissions to grant (read, write). Default is write.tcsvsattrs+tattrst Attributess"Comma-separated list of attributest normalizercCs |iƒS((tlower(tvalue((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyt_scs^d }t‡fd†|Dƒƒ}ˆii|d /usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pys is Rtmethods(slabelslabel_singulars takes_paramssbindablesnames object_namesobject_name_plural(tdictRRR)(R(tjson_friendly_attributest json_dictt_[1]tm((R(s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyt__json__cs(cCs%y |d=Wntj onXdS(Nt aciprefix(tKeyError(R(tresult((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pytpostprocess_resultos (t__name__t __module__t__doc__tFalseR"RR#R$R R RtTrueR!R/R3(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR?s4              tselfservice_addcBs/eZedƒZedƒZeZd„ZRS(s"Add a new self-service permission.sAdded selfservice "%(value)s"cKsld|jod|d/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pytexecutes   (R4R5RR6t msg_summaryt output_paramsthas_output_paramsR?(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR9ys  tselfservice_delcBs2eZedƒZeiZedƒZd„ZRS(s!Delete a self-service permission.sDeleted selfservice "%(value)s"cKs<tid|dtƒ}|ii|ƒtdtd|ƒS(Ntaci_delR0R2R(RR R<R=R3R*R8(R(RR>R2((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR?•s ( R4R5RR6Rtstandard_booleant has_outputR@R?(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyRCs   tselfservice_modcBs/eZedƒZedƒZeZd„ZRS(s!Modify a self-service permission.s Modified selfservice "%(value)s"cKs{d|jo'|ddjotiddƒ‚nt|dR2((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR?§s (R4R5RR6R@RARBR?(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyRG¡s  tselfservice_findcBsDeZedƒZedddƒZedƒfZeZ d„Z RS(s%Search for a self-service permission.s%(count)d selfservice matcheds%(count)d selfservices matchediRc Ksnt|dR2R ((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR?Ás   ( R4R5RR6RR@R t takes_optionsRARBR?(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyRK·s  tselfservice_showcBs#eZedƒZeZd„ZRS(s4Display information about a self-service permission.cKsCtid|dt|d}|ii|ƒtd|d|ƒS(Ntaci_showR0R2R(RR R<R=R3R*(R(RR>R2((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyR?×s  (R4R5RR6RARBR?(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyRRÒs N(tipalibRRRRRtipalib.requestRRRRR R tipalib.plugins.baseldapR R6R<RARtregistertCreateR9tDeleteRCtUpdateRGtSearchRKtRetrieveRR(((s>/usr/lib/python2.6/site-packages/ipalib/plugins/selfservice.pyts.  7