// bind template to class Frame: LSWSkyrixFrame {} Window: LSWWindowFrame { title = labels.personviewer_title; onClose = session.navigation.leavePage; } Title: LSWViewerTitle { title = viewerTitle; } // tabs TabBody: SkyTabView { selection = tabKey; } AttributesTab: SkySimpleTabItem { key = "attributes"; label = labels.personviewer_tab_person; isScript = YES; } ProjectsTab: SkySimpleTabItem { key = "projects"; label = labels.personviewer_tab_projects; } EnterpriseTab: SkySimpleTabItem { key = "enterprises"; label = labels.personviewer_tab_enterprises; } AddressTab: SkySimpleTabItem { key = "address"; label = labels.personviewer_tab_address; isScript = YES; } PictureTab: SkySimpleTabItem { key = "picture"; label = labels.personviewer_tab_picture; } AppointmentsTab: SkySimpleTabItem { key = "appointments"; label = labels.personviewer_tab_appointments; } LogTab: SkySimpleTabItem { key = "log"; label = labels.personviewer_tab_log; } LinkTab: SkySimpleTabItem { key = "links"; label = labels.personviewer_tab_links; } IsInEnterpriseCond: WOConditional { condition = isInEnterprise; } HasImage: WOConditional { condition = hasImage; } IsPersonLoggedInAccount: WOConditional { condition = isPersonLoggedInAccount; } // personal attributes PersonalAttributes: SkyPersonalAttributesViewer { object = person; } // projects ProjectList: SkyPersonProjectList { person = person; } // appointments AptToggleCell: WOGenericContainer { elementName = "td"; align = "left"; valign = "middle"; bgcolor = config.colors_mainButtonRow; width = "1%"; } ShowAptListCond: WOConditional { condition = aptViewKey; value = "list"; } ShowAptViewCond: WOConditional { condition = aptViewKey; value = "view"; } SwitchToView: WOHyperlink { action = switchToAptView; } SwitchToList: WOHyperlink { action = switchToAptList; } ViewIcon: WOImage { filename = "icon_apt_overview.gif"; border = "0"; valign = "top"; alt = labels.overview; } ViewIconInactive: WOImage { filename = "icon_apt_overview_inactive.gif"; border = "0"; valign = "top"; alt = labels.overview; } ListIcon: WOImage { filename = "icon_apt_list.gif"; border = "0"; valign = "top"; alt = labels.list; } ListIconInactive: WOImage { filename = "icon_apt_list_inactive.gif"; border = "0"; valign = "top"; alt = labels.list; } AppointmentList: SkyAppointmentList { dataSource = aptsOfPerson; person = person; } AppointmentView: SkyInlineWeekOverview { dataSource = aptsOfPerson; weekStart = weekStart.beginOfDay; } AddressesViewer: SkyAddressesViewer { company = person; columns = 3; } MailList: SkyMailList {} LogList: SkyObjectLogList { object = person; } RelatedLinks: OGoObjectLinkList { object = person; } EnterpriseSetViewer: SkyPersonEnterpriseSetViewer { person = person; } Picture: WOImage { data = imageData; mimeType = imageType; } AttributeCell: SkyAttributeCell {} ValueCell: SkyValueCell { alignTop = YES; } LoginLabel: WOString { value = labels.login; } Login: WOString { value = person.login; } IsAccountCond: WOConditional { condition = person.isAccount.boolValue; } IsRootCondElse: WOConditional { condition = isPersonNotRoot; } Font: SkyConfigFont {} Buttons: SkyButtonRow { ordering = ( toaccount, viewaccount, newjob, clip, mail, edit ); // default buttons onClip = placeInClipboard; hasEdit = isEditEnabled; onEdit = edit; onMail = mailObject; urlMail = objectUrl; onNewjob = newJob; hasNewjob = hasNewJob; newjob = labels.action_newjob; // labels clip = labels.clip; edit = labels.edit; mail = labels.send; hasToaccount = canMakeAccountFromPerson; hasViewaccount = canViewAccount; hasEditaccount = canEditAccount; onToaccount = personToAccount; onViewaccount = viewAccount; onEditaccount = editAccount; toaccount = labels.action_toAccount; viewaccount = labels.action_viewAccount; editaccount = labels.action_editAccount; } FormLetterTypes: WORepetition { list = formLetterTypes; item = formLetterType; separator = ", "; } FormLetterLink: WOHyperlink { actionClass = "OGoFormLetterAction"; directActionName = "download"; ?wosid = YES; ?ds = "person"; ?companyId = person.companyId; ?kind = formLetterType; // session.userDefaults.formletter_kind; ?format = "formLetter"; ?v = person.objectVersion; target = formLetterTarget; style = "text-decoration:none"; // TODO: move to CSS } FormLetterLabel: WOString { value = labels.FormLetterLink; } FormLetterTypeLabel: WOString { value = labels.$formLetterType; } DownloadLabel: WOString { value = labels.download; } VCardLink: WOHyperlink { actionClass = "OGoFormLetterAction"; directActionName = "download"; ?wosid = YES; ?ds = "person"; ?companyId = person.companyId; ?kind = session.userDefaults.formletter_kind; ?format = "vCard"; ?v = person.objectVersion; target = formLetterTarget; mimeType = "text/directory"; style = "text-decoration:none"; } VCardName: WOString { value = "vcard"; } // LDAP ShowLDAPInfo: WOConditional { condition = showLDAPInfo; } LDAPInfoViewer: SkyPersonLDAPViewer { skyrixLogin = person.login; } LDAPTab: SkySimpleTabItem { key = "ldap"; label = labels.personviewer_tab_ldap; icon = "ldap"; isScript = YES; } AccessList: SkyAccessList { accessList = accessIds; isInTable = NO; accessChecks = accessChecks; labels = labels; isViewerMode = YES; } AccessTab: SkySimpleTabItem { key = "access"; label = labels.accessTab; } AccessTitle: LSWViewerTitle { title = labels.access; gentable = YES; } AccessButtons: SkyButtonRow { onEdit = editAccess; ordering = ( edit ); edit = labels.edit; hasEdit = isEditEnabled; } IsAccessRightEnabled: WOConditional { condition = isAccessRightEnabled; } IsProjectEnabled: WOConditional { condition = isProjectEnabled; } IsLogTabEnabled: WOConditional { condition = isLogTabEnabled; } IsLinkTabEnabled: WOConditional { condition = isLinkTabEnabled; }