## -*- coding: utf_8 -*- <%block name="head"> <% from fcp import connection from fcp import fcpdefs from fcutils import util from fcp import mlitem from fcws.fcweb import webutil import os.path import urllib stripNone = webutil.stripNone confGroupID = 'fcfid-'+str(fcpdefs.aConfGroup) accessID = 'fcfid-'+str(fcpdefs.aAccess) membersID = 'fcfid-'+str(fcpdefs.aMembers) myMLItem = fcp.MyMLItem thisWebID = myMLItem.WebID() parentMLItem = None parentServObj = client.FindServerObjectByObjID(fcp.parentObjID) if parentServObj: parentMLItem = parentServObj.GetMLItemByIndex(fcp.getObjectDataIndex) parentSubType = parentMLItem.SubType() if parentMLItem else 0 jsonStr = '{"MYMLITEM":'+myMLItem.AsJSONArrayItem(mlitem.sendAll,(client.serverTZ,client.clientTZ))+',"RIGHTS":'+str(fcp.rights)+'}' context.write('') bIsEditable = True if fcp.rights & fcpdefs.acEditACL else False selectEnableStr = '' if bIsEditable else 'disabled="disabled"' confGroups = fcp.GetMsgNameList(fcpdefs.aConfGroup) numConfGroups = len(confGroups) if confGroups else 0 accessNames = fcp.GetMsgNameList(fcpdefs.aAccess) numAccessNames = len(accessNames) if accessNames else 0 fType,owner = fcp.GetEscapedFormField(2024) if not owner: owner = '' def isCalendarACL(formID): if formID == fcpdefs.CALENDARACLFORMID: return True return False def isContactDBACL(formID): return (formID == fcpdefs.CONTACTDBACLFORMID) if isCalendarACL(fcp.formID): cannedList = (0,2097152,2304,2099456,2100992,2219821) elif isContactDBACL(fcp.formID): cannedList = (0, 512, 87552, 131054) else: cannedList = (0,512,4608,87552,122624,122752,122798,131054,131071) if not isCalendarACL(fcp.formID): toolTips = ["Edit permissions","Moderator","Delete any item","Create items","Edit read-only items","Edit items","Save window and view properties","Approve items","Delete own items","Open conference","Search items ","Send items","Open items","Create subconferences","Download files & attachments","View permissions ","View history"] else: toolTips = ["Edit permissions","Moderator","Delete any item","Create items","Edit read-only items","Edit items","Save window and view properties","Approve items","Delete own items","View unrestricted details","Search items ","Add participants","Open items",'',"Download files & attachments","View permissions ","View history","Open calendar"] def resolveIconID(formID,iconID): if formID == fcpdefs.CALENDARACLFORMID or formID == fcpdefs.CALENDARGROUPACLFORMID: if iconID == 9354: iconID = 9382 elif iconID == 9359: iconID = 9383 elif iconID == 9361: iconID = 9384 elif iconID == 9362: iconID = 9385 elif iconID == 9367: iconID = 9386 return iconID def spitPermissionsIcons(index,rights): bIsCalACL = isCalendarACL(fcp.formID) maxIcons = 18 if bIsCalACL else 17 bit = 1 if bIsEditable and index is not -1: context.write('') else: context.write('') for i in range(maxIcons): if (i != 13) or (not bIsCalACL): iconID = resolveIconID(fcp.formID,9350+i) aclBitStr = 'data-x-fcp-aclbit="'+str(bit)+'"' if rights & 1: context.write('') elif bIsEditable: context.write('') else: context.write('') if i==16: rights = rights>>5 bit = bit<<5 else: rights = rights>>1 bit = bit<<1 if index is not -1: context.write('
') context.write('') def spitAccessPopup(index,rights): selVal = rights if rights not in cannedList: selVal = -1 context.write('') def spitAccessRow(index,item): uniqueID = str(index+1)+accessID if item: accRights = item.GetField(fcpdefs.dbAccRights) if accRights==None: accRights = 0 context.write('') if bIsEditable: context.write('X') context.write('>8) + '.png"/>') context.write(''+item.EscapedName()+'') else: accRights = 0 context.write('') spitAccessPopup(index,accRights) context.write('') spitPermissionsIcons(index,accRights) context.write('') def spitConfGroup(index,item): uniqueID = str(index+1)+confGroupID context.write('
  • ') if bIsEditable: context.write('X') context.write('>8) + '.png"/>') context.write(''+item.EscapedName()+'
  • ') def spitAccessRows(): for i in range(numAccessNames): spitAccessRow(i,accessNames[i]) if bIsEditable: spitAccessRow(-1,None) context.write('') def spitConfGroups(): for i in range(numConfGroups): spitConfGroup(i,confGroups[i]) if bIsEditable: context.write('
  • ') %>
    %if not (isContactDBACL(fcp.formID) or parentSubType==66): Do not publish in Directory %endif
    Owner: ${owner}


    %if isContactDBACL(fcp.formID): Use view from server %endif %if not (isCalendarACL(fcp.formID) or isContactDBACL(fcp.formID) or parentSubType==77):
    View, Message options, Approval, Size limit, Expiry
    View
    Use view from server Use template view only Hide unapproved items
    Message options
    Form to use:
    Reply preference:
    Allow liking or rating:
    Approval
    Messages require approval Attachments require approval
    Size limit
    Limit messages above:
    Handling:
    Expiry
    Item limit:
    Message expiry (days):
    %elif isCalendarACL(fcp.formID):
    Item expiry: (days)
    %endif

    %if not isContactDBACL(fcp.formID):
      <% spitConfGroups() %>


    %endif <% spitAccessRows() %>