CINXE.COM
Bug 37528: check if selected relationship is valid · 2e7e5c4659 - Koha-community/Koha - Koha: The world's first free and open source library system
<!DOCTYPE html> <html lang="en-US" data-theme="forgejo-auto"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bug 37528: check if selected relationship is valid · 2e7e5c4659 - Koha-community/Koha - Koha: The world's first free and open source library system</title> <link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiS29oYTogVGhlIHdvcmxkJ3MgZmlyc3QgZnJlZSBhbmQgb3BlbiBzb3VyY2UgbGlicmFyeSBzeXN0ZW0iLCJzaG9ydF9uYW1lIjoiS29oYTogVGhlIHdvcmxkJ3MgZmlyc3QgZnJlZSBhbmQgb3BlbiBzb3VyY2UgbGlicmFyeSBzeXN0ZW0iLCJzdGFydF91cmwiOiJodHRwczovL2dpdC5rb2hhLWNvbW11bml0eS5vcmcvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHBzOi8vZ2l0LmtvaGEtY29tbXVuaXR5Lm9yZy9hc3NldHMvaW1nL2xvZ28ucG5nIiwidHlwZSI6ImltYWdlL3BuZyIsInNpemVzIjoiNTEyeDUxMiJ9LHsic3JjIjoiaHR0cHM6Ly9naXQua29oYS1jb21tdW5pdHkub3JnL2Fzc2V0cy9pbWcvbG9nby5zdmciLCJ0eXBlIjoiaW1hZ2Uvc3ZnK3htbCIsInNpemVzIjoiNTEyeDUxMiJ9XX0="> <meta name="author" content="Koha-community"> <meta name="description" content="Koha - Main Koha release repository"> <meta name="keywords" content="git,forge,forgejo"> <meta name="referrer" content="no-referrer"> <link rel="alternate" type="application/atom+xml" title="" href="/Koha-community/Koha.atom"> <link rel="alternate" type="application/rss+xml" title="" href="/Koha-community/Koha.rss"> <link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml"> <link rel="alternate icon" href="/assets/img/favicon.png" type="image/png"> <script> window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.config = { appUrl: 'https:\/\/git.koha-community.org\/', appSubUrl: '', assetVersionEncoded: encodeURIComponent('8.0.2~gitea-1.22.0'), assetUrlPrefix: '\/assets', runModeIsProd: true , customEmojis: {"codeberg":":codeberg:","forgejo":":forgejo:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"}, csrfToken: 'sA1P7TkT-05Fd7jGIEBjkGVJzMk6MTczMjQyODk3Mjg1NTA1MDY2MA', pageData: {}, notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000}, enableTimeTracking: true , mermaidMaxSourceCharacters: 5000 , i18n: { copy_success: "Copied!", copy_error: "Copy failed", error_occurred: "An error occurred", network_error: "Network error", remove_label_str: "Remove item \"%s\"", modal_confirm: "Confirm", modal_cancel: "Cancel", more_items: "More items", }, }; window.config.pageData = window.config.pageData || {}; </script> <script src="/assets/js/webcomponents.js?v=8.0.2~gitea-1.22.0"></script> <noscript> <style> .dropdown:hover > .menu { display: block; } .ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } </style> </noscript> <meta property="og:title" content="Bug 37528: check if selected relationship is valid · 2e7e5c4659"> <meta property="og:url" content="https://git.koha-community.org//Koha-community/Koha/commit/2e7e5c465916f54c0158872408b730a3369a795e"> <meta property="og:description" content=" This patch checks if the selected relationship is valid before trying to save the patron record. It takes the list of valid relationships from borrowerRelationships syspref and checks if the selected relationship is in the list. Also this patch fixes relationship field required message when Bor..."> <meta property="og:type" content="object"> <meta property="og:image" content="https://git.koha-community.org/avatars/3"> <meta property="og:site_name" content="Koha: The world's first free and open source library system"> <link rel="stylesheet" href="/assets/css/index.css?v=8.0.2~gitea-1.22.0"> <link rel="stylesheet" href="/assets/css/theme-forgejo-auto.css?v=8.0.2~gitea-1.22.0"> </head> <body hx-headers='{"x-csrf-token": "sA1P7TkT-05Fd7jGIEBjkGVJzMk6MTczMjQyODk3Mjg1NTA1MDY2MA"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false"> <div class="full height"> <noscript>This website requires JavaScript.</noscript> <nav id="navbar" aria-label="Navigation bar"> <div class="navbar-left ui secondary menu"> <a class="item" id="navbar-logo" href="/" aria-label="Home"> <img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true"> </a> <div class="ui secondary menu item navbar-mobile-right only-mobile"> <button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Toggle menu"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75m0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button> </div> <a class="item" href="/explore/repos">Explore</a> <a class="item" target="_blank" rel="noopener noreferrer" href="https://forgejo.org/docs/latest/">Help</a> </div> <div class="navbar-right ui secondary menu"> <a class="item" rel="nofollow" href="/user/login?redirect_to=%2fKoha-community%2fKoha%2fcommit%2f2e7e5c465916f54c0158872408b730a3369a795e"> <svg viewBox="0 0 16 16" class="svg octicon-sign-in" aria-hidden="true" width="16" height="16"><path d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm6.56 4.5h5.69a.75.75 0 0 1 0 1.5H8.56l1.97 1.97a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L6.22 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734Z"/></svg> Sign In </a> </div> </nav> <div role="main" aria-label="Bug 37528: check if selected relationship is valid · 2e7e5c4659" class="page-content repository diff"> <div class="secondary-nav"> <div class="ui container"> <div class="repo-header"> <div class="flex-item tw-items-center"> <div class="flex-item-leading"> <svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg> </div> <div class="flex-item-main"> <div class="flex-item-title gt-font-18"> <a class="muted gt-font-normal" href="/Koha-community">Koha-community</a>/<a class="muted" href="/Koha-community/Koha">Koha</a> </div> </div> <div class="flex-item-trailing"> </div> </div> <div class="repo-buttons button-row"> <a class="ui compact small basic button" href="/Koha-community/Koha.rss" data-tooltip-content="RSS feed"> <svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="16" height="16"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg> </a> <form hx-boost="true" hx-target="this" method="post" action="/Koha-community/Koha/action/watch"> <div class="ui labeled button" data-tooltip-content="Sign in to watch this repository."> <button type="submit" class="ui compact small basic button" disabled> <svg viewBox="0 0 16 16" class="svg octicon-eye" aria-hidden="true" width="16" height="16"><path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14s-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2M1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5s2.825-.742 3.955-1.715c1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5s-2.825.742-3.955 1.715c-1.124.967-1.954 2.096-2.366 2.717M8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10"/></svg><span class="text not-mobile">Watch</span> </button> <a hx-boost="false" class="ui basic label" href="/Koha-community/Koha/watchers"> 13 </a> </div> </form> <form hx-boost="true" hx-target="this" method="post" action="/Koha-community/Koha/action/star"> <div class="ui labeled button" data-tooltip-content="Sign in to star this repository."> <button type="submit" class="ui compact small basic button" disabled> <svg viewBox="0 0 16 16" class="svg octicon-star" aria-hidden="true" width="16" height="16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg><span class="text not-mobile">Star</span> </button> <a hx-boost="false" class="ui basic label" href="/Koha-community/Koha/stars"> 7 </a> </div> </form> <div class="ui labeled button disabled " data-tooltip-content="Sign in to fork this repository." > <a class="ui compact small basic button" > <svg viewBox="0 0 16 16" class="svg octicon-repo-forked" aria-hidden="true" width="16" height="16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0"/></svg><span class="text not-mobile">Fork</span> </a> <div class="ui small modal" id="fork-repo-modal"> <div class="header"> You've already forked Koha </div> <div class="content tw-text-left"> <div class="ui list"> </div> </div> </div> <a class="ui basic label" href="/Koha-community/Koha/forks"> 0 </a> </div> </div> </div> </div> <overflow-menu class="ui container secondary pointing tabular top attached borderless menu tw-pt-0 tw-my-0"> <div class="overflow-menu-items"> <a class="item" href="/Koha-community/Koha/src/branch/main"> <svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code </a> <a class="item" href="https://bugs.koha-community.org" target="_blank" rel="noopener noreferrer"> <svg viewBox="0 0 16 16" class="svg octicon-link-external" aria-hidden="true" width="16" height="16"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2m6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1"/></svg> Issues </a> <a class="item" href="/Koha-community/Koha/releases"> <svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> Releases </a> <a class="item" href="https://wiki.koha-community.org" target="_blank" rel="noopener noreferrer"> <svg viewBox="0 0 16 16" class="svg octicon-link-external" aria-hidden="true" width="16" height="16"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2m6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1"/></svg> Wiki </a> <a class="item" href="/Koha-community/Koha/activity"> <svg viewBox="0 0 16 16" class="svg octicon-pulse" aria-hidden="true" width="16" height="16"><path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.75.75 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.75.75 0 0 1 6 2"/></svg> Activity </a> </div> </overflow-menu> <div class="ui tabs divider"></div> </div> <div class="ui container fluid padded"> <div class="ui top attached header clearing segment tw-relative commit-header "> <div class="tw-flex tw-mb-4 tw-gap-1"> <h3 class="tw-mb-0 tw-flex-1"><span class="commit-summary" title="Bug 37528: check if selected relationship is valid">Bug 37528: check if selected relationship is valid</span> </h3> <div class="commit-header-buttons"> <a class="ui primary tiny button" href="/Koha-community/Koha/src/commit/2e7e5c465916f54c0158872408b730a3369a795e"> Browse source </a> </div> </div> <pre class="commit-body">This patch checks if the selected relationship is valid before trying to save the patron record. It takes the list of valid relationships from borrowerRelationships syspref and checks if the selected relationship is in the list. Also this patch fixes relationship field required message when BorrowerMandatoryField is not set. The required message is shown when adding the guarantee from guarantor's detail page. Test plan: 1) Add at least one option to borrowerRelationships syspref. 2) Leave the relationship unchecked from BorrowerMandatoryField syspref. 3) Create a new guarantee patron. 4) Add a guarantor to the guarantee patron. 5) Leave the relationship field empty and try to save the patron record. 6) Notice the 500 error page. 7) Apply the patch. 8) Repeat steps 3-5. 9) Notice the error message "Guarantor relationship is invalid". Sponsored-by: Koha-Suomi Oy Signed-off-by: Olivier V <olivier.vezina@inLibro.com> Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> (cherry picked from commit <a href="/Koha-community/Koha/commit/9ea82b05d59d6430cffa448d94be076f3fe20f1c" class="commit"><code class="nohighlight">9ea82b05d5</code></a>) Signed-off-by: Lucas Gass <lucas@bywatersolutions.com></pre> <div class="branch-and-tag-area" data-text-default-branch-tooltip="This commit is part of the default branch"> <button class="ui button ellipsis-button load-branches-and-tags tw-mt-2" aria-expanded="false" data-fetch-url="/Koha-community/Koha/commit/2e7e5c465916f54c0158872408b730a3369a795e/load-branches-and-tags" data-tooltip-content="Load branches and tags referencing this commit" >...</button> <div class="branch-and-tag-detail tw-hidden"> <div class="divider"></div> <div>This commit is contained in:</div> <div class="tw-flex tw-mt-2"> <div class="tw-p-1"><svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg></div> <div class="branch-area flex-text-block tw-flex-wrap tw-flex-1"></div> </div> <div class="tw-flex tw-mt-2"> <div class="tw-p-1"><svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg></div> <div class="tag-area flex-text-block tw-flex-wrap tw-flex-1"></div> </div> </div> </div> </div> <div class="ui attached segment tw-flex tw-items-center tw-justify-between tw-py-1 commit-header-row tw-flex-wrap "> <div class="tw-flex tw-items-center author"> <img class="ui avatar tw-align-middle tw-mr-2" src="/avatar/ce71d2b0636fd27c3d27cdbee2e71e21?size=56" title="johanna.raisa@gmail.com" width="28" height="28"/> <strong>Johanna Räisä</strong> <span class="text grey tw-ml-2" id="authored-time"><relative-time prefix="" tense="past" datetime="2024-08-01T08:46:09+03:00" data-tooltip-content data-tooltip-interactive="true">2024-08-01 08:46:09 +03:00</relative-time></span> <span class="text grey tw-mx-2">committed by</span> <img class="ui avatar tw-align-middle tw-mx-2" src="/avatar/c38bae4434d295c21af2bf531e3ce29e?size=56" title="Lucas Gass" width="28" height="28"/> <a href="/lucas.gass"><strong>Lucas Gass</strong></a> </div> <div class="tw-flex tw-items-center"> <div> <span>parent</span> <a class="ui primary sha label" href="/Koha-community/Koha/commit/b99b51deef834023089609eed069e1bed9653df4">b99b51deef</a> </div> <div class="item"> <span>commit</span> <span class="ui primary sha label">2e7e5c4659</span> </div> </div> </div> <div> <div class="diff-detail-box diff-box"> <div class="tw-flex tw-items-center tw-flex-wrap tw-gap-2 tw-ml-0.5"> <button class="diff-toggle-file-tree-button not-mobile btn interact-fg" data-show-text="Show file tree" data-hide-text="Hide file tree"> <svg viewBox="0 0 16 16" class="icon tw-hidden svg octicon-sidebar-collapse" aria-hidden="true" width="20" height="20"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"/><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0M1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25M11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"/></svg> <svg viewBox="0 0 16 16" class="icon tw-hidden svg octicon-sidebar-expand" aria-hidden="true" width="20" height="20"><path d="m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354"/><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z"/></svg> </button> <script> const diffTreeVisible = localStorage?.getItem('diff_file_tree_visible') !== 'false'; const diffTreeBtn = document.querySelector('.diff-toggle-file-tree-button'); const diffTreeIcon = `.octicon-sidebar-${diffTreeVisible ? 'expand' : 'collapse'}`; diffTreeBtn.querySelector(diffTreeIcon).classList.remove('tw-hidden'); diffTreeBtn.setAttribute('data-tooltip-content', diffTreeBtn.getAttribute(diffTreeVisible ? 'data-hide-text' : 'data-show-text')); </script> <div class="diff-detail-stats tw-flex tw-items-center tw-flex-wrap"> <svg viewBox="0 0 16 16" class="tw-mr-1 svg octicon-diff" aria-hidden="true" width="16" height="16"><path d="M8.75 1.75V5H12a.75.75 0 0 1 0 1.5H8.75v3.25a.75.75 0 0 1-1.5 0V6.5H4A.75.75 0 0 1 4 5h3.25V1.75a.75.75 0 0 1 1.5 0M4 13h8a.75.75 0 0 1 0 1.5H4A.75.75 0 0 1 4 13"/></svg><strong> 2 changed files</strong> with <strong>20 additions</strong> and <strong>1 deletions</strong> </div> </div> <div class="diff-detail-actions button-row"> <div class="ui dropdown tiny basic button" data-tooltip-content="Whitespace"> <svg viewBox="0 0 15 15" class="svg gitea-whitespace" aria-hidden="true" width="16" height="16"><path d="m2.5 7.5.35.35a.5.5 0 0 0 0-.7zM3 4h12V3H3zm4 4h8V7H7zm-4 4h12v-1H3zM.85 9.85l2-2-.7-.7-2 2zm2-2.7-2-2-.7.7 2 2z"/></svg> <div class="menu"> <a class="item" href="?style=unified&whitespace=show-all&show-outdated="> <label class="tw-pointer-events-none"> <input class="tw-mr-2 tw-pointer-events-none" type="radio" checked> Show all changes </label> </a> <a class="item" href="?style=unified&whitespace=ignore-all&show-outdated="> <label class="tw-pointer-events-none"> <input class="tw-mr-2 tw-pointer-events-none" type="radio"> Ignore whitespace when comparing lines </label> </a> <a class="item" href="?style=unified&whitespace=ignore-change&show-outdated="> <label class="tw-pointer-events-none"> <input class="tw-mr-2 tw-pointer-events-none" type="radio"> Ignore changes in amount of whitespace </label> </a> <a class="item" href="?style=unified&whitespace=ignore-eol&show-outdated="> <label class="tw-pointer-events-none"> <input class="tw-mr-2 tw-pointer-events-none" type="radio"> Ignore changes in whitespace at EOL </label> </a> </div> </div> <a class="ui tiny basic button" href="?style=split&whitespace=show-all&show-outdated=" data-tooltip-content="Split view"><svg viewBox="0 0 16 16" class="svg gitea-split" aria-hidden="true" width="16" height="16"><path d="M7.25 14.25a.75.75 0 0 0 1.5 0v-.5a.75.75 0 0 0-1.5 0zM8 12a.75.75 0 0 1-.75-.75v-.5a.75.75 0 0 1 1.5 0v.5A.75.75 0 0 1 8 12m-.75-3.75a.75.75 0 0 0 1.5 0v-.5a.75.75 0 0 0-1.5 0zM8 6a.75.75 0 0 1-.75-.75v-.5a.75.75 0 0 1 1.5 0v.5A.75.75 0 0 1 8 6m-.75-3.75a.75.75 0 0 0 1.5 0v-.5a.75.75 0 0 0-1.5 0zm4.1 6.5a.75.75 0 0 1 0-1.5h1.25V5.1a.25.25 0 0 1 .43-.17l2.9 2.9a.25.25 0 0 1 0 .35l-2.9 2.9a.25.25 0 0 1-.43-.18V8.75ZM3.4 10.9V8.75h1.25a.75.75 0 0 0 0-1.5H3.4V5.1a.25.25 0 0 0-.43-.17l-2.9 2.9a.25.25 0 0 0 0 .35l2.9 2.9a.25.25 0 0 0 .43-.18"/></svg></a> <div class="ui dropdown tiny basic button" data-tooltip-content="Diff options"> <svg viewBox="0 0 16 16" class="svg octicon-kebab-horizontal" aria-hidden="true" width="16" height="16"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/></svg> <div class="menu"> <a class="item" id="show-file-list-btn">Show stats</a> <a class="item" href="/Koha-community/Koha/commit/2e7e5c465916f54c0158872408b730a3369a795e.patch" download="2e7e5c4659.patch">Download patch file</a> <a class="item" href="/Koha-community/Koha/commit/2e7e5c465916f54c0158872408b730a3369a795e.diff" download="2e7e5c4659.diff">Download diff file</a> <a id="expand-files-btn" class="item">Expand all files</a> <a id="collapse-files-btn" class="item">Collapse all files</a> </div> </div> </div> </div> <script id="diff-data-script" type="module"> const diffDataFiles = [{Name:"koha-tmpl\/intranet-tmpl\/prog\/en\/modules\/members\/memberentrygen.tt",NameHash:"241ba4426f5cf4b255c8afe40d95e0ff971a7a80",Type: 2 ,IsBin: false ,Addition: 4 ,Deletion: 1 ,IsViewed: false },{Name:"members\/memberentry.pl",NameHash:"5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4",Type: 2 ,IsBin: false ,Addition: 16 ,Deletion: 0 ,IsViewed: false },]; const diffData = { isIncomplete: false , tooManyFilesMessage: "Some files were not shown because too many files have changed in this diff", binaryFileMessage: "BIN", showMoreMessage: "Show more", statisticsMessage: "%d changes: %d additions and %d deletions", linkLoadMore: "?skip-to=&file-only=true", }; let diffFileInfo = window.config.pageData.diffFileInfo || { files:[], fileTreeIsVisible: false, fileListIsVisible: false, isLoadingNewData: false, selectedItem: '', }; diffFileInfo = Object.assign(diffFileInfo, diffData); diffFileInfo.files.push(...diffDataFiles); window.config.pageData.diffFileInfo = diffFileInfo; </script> <div id="diff-file-list"></div> <div id="diff-container"> <div id="diff-file-tree" class="tw-hidden not-mobile"></div> <script> if (diffTreeVisible) document.getElementById('diff-file-tree').classList.remove('tw-hidden'); </script> <div id="diff-file-boxes" class="sixteen wide column"> <div class="diff-file-box diff-box file-content tab-size-4 tw-mt-0" id="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80" data-old-filename="koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt" data-new-filename="koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt" > <h4 class="diff-file-header sticky-2nd-row ui top attached header tw-font-normal tw-flex tw-items-center tw-justify-between tw-flex-wrap"> <div class="diff-file-name tw-flex tw-flex-1 tw-items-center tw-gap-1 tw-flex-wrap"> <button class="fold-file btn interact-bg tw-p-1"> <svg viewBox="0 0 16 16" class="svg octicon-chevron-down" aria-hidden="true" width="18" height="18"><path d="M12.78 5.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.75.75 0 0 1 1.06 0"/></svg> </button> <div class="tw-font-semibold tw-flex tw-items-center tw-font-mono"> 5 <span class="diff-stats-bar tw-mx-2" data-tooltip-content="5 changes: 4 additions and 1 deletions"> <div class="diff-stats-add-bar" style="width: 80%"></div> </span> </div> <span class="file tw-flex tw-items-center tw-font-mono tw-flex-1"><a class="muted file-link" title="koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt" href="#diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80">koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt</a> <button class="btn interact-fg tw-p-2" data-clipboard-text="koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt" data-tooltip-content="Copy to clipboard" aria-label="Copy to clipboard"><svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg></button> </span> </div> <div class="diff-file-header-actions tw-flex tw-items-center button-row tw-flex-wrap"> <button class="ui basic tiny button unescape-button not-mobile">Unescape</button> <button class="ui basic tiny button escape-button tw-hidden">Escape</button> <a class="ui basic tiny button" rel="nofollow" href="/Koha-community/Koha/src/commit/2e7e5c465916f54c0158872408b730a3369a795e/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt">View file</a> </div> </h4> <div class="diff-file-body ui attached unstackable table segment" > <div id="diff-source-241ba4426f5cf4b255c8afe40d95e0ff971a7a80" class="file-body file-code unicode-escaped code-diff code-diff-unified"> <table class="chroma" data-new-comment-url="/files/reviews/new_comment" data-path="koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt"> <colgroup> <col width="50"> <col width="50"> <col width="10"> <col width="10"> <col> </colgroup> <tr class="tag-code nl-0 ol-0" data-line-type="tag"> <td colspan="2" class="lines-num"> <div class="tw-flex"> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=0&last_right=0&left=217&right=217&left_hunk_size=6&right_hunk_size=9&path=koha-tmpl%2Fintranet-tmpl%2Fprog%2Fen%2Fmodules%2Fmembers%2Fmemberentrygen.tt&style=unified&direction=up&wiki=&anchor=diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80K217"> <svg viewBox="0 0 16 16" class="svg octicon-fold-up" aria-hidden="true" width="16" height="16"><path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0M13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg> </button> </div> </td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=""></span></td> <td class="chroma lines-code blob-hunk"><code class="code-inner">@ -217,6 +217,9 @@ legend.collapsed i.fa.fa-caret-down::before {</code> </td> </tr> <tr class="same-code nl-1 ol-1" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="217"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L217"></span></td> <td class="lines-num lines-num-new" data-line-num="217"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R217"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% IF ( ERROR_cannot_delete_guarantor ) %]</code> </td> </tr> <tr class="same-code nl-2 ol-2" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="218"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L218"></span></td> <td class="lines-num lines-num-new" data-line-num="218"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R218"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> <li id="ERROR_cannot_delete_guarantor">Cannot delete guarantor(s). A child patron needs a guarantor.</li></code> </td> </tr> <tr class="same-code nl-3 ol-3" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="219"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L219"></span></td> <td class="lines-num lines-num-new" data-line-num="219"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R219"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="add-code nl-4 ol-4" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="220"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R220"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> [% IF ( ERROR_invalid_relationship ) %]</code> </td> </tr> <tr class="add-code nl-5 ol-5" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="221"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R221"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <li id="ERROR_invalid_relationship">Guarantor relationship is invalid.</li></code> </td> </tr> <tr class="add-code nl-6 ol-6" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="222"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R222"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="same-code nl-7 ol-7" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="220"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L220"></span></td> <td class="lines-num lines-num-new" data-line-num="223"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R223"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> </ul></code> </td> </tr> <tr class="same-code nl-8 ol-8" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="221"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L221"></span></td> <td class="lines-num lines-num-new" data-line-num="224"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R224"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> </div></code> </td> </tr> <tr class="same-code nl-9 ol-9" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="222"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L222"></span></td> <td class="lines-num lines-num-new" data-line-num="225"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R225"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="tag-code nl-0 ol-0" data-line-type="tag"> <td colspan="2" class="lines-num"> <div class="tw-flex"> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=222&last_right=225&left=554&right=557&left_hunk_size=7&right_hunk_size=7&path=koha-tmpl%2Fintranet-tmpl%2Fprog%2Fen%2Fmodules%2Fmembers%2Fmemberentrygen.tt&style=unified&direction=down&wiki=&anchor=diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80K557"> <svg viewBox="0 0 16 16" class="svg octicon-fold-down" aria-hidden="true" width="16" height="16"><path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0M2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75M8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75m2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5z"/></svg> </button> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=222&last_right=225&left=554&right=557&left_hunk_size=7&right_hunk_size=7&path=koha-tmpl%2Fintranet-tmpl%2Fprog%2Fen%2Fmodules%2Fmembers%2Fmemberentrygen.tt&style=unified&direction=up&wiki=&anchor=diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80K557"> <svg viewBox="0 0 16 16" class="svg octicon-fold-up" aria-hidden="true" width="16" height="16"><path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0M13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg> </button> </div> </td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=""></span></td> <td class="chroma lines-code blob-hunk"><code class="code-inner">@ -554,7 +557,7 @@ legend.collapsed i.fa.fa-caret-down::before {</code> </td> </tr> <tr class="same-code nl-1 ol-1" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="554"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L554"></span></td> <td class="lines-num lines-num-new" data-line-num="557"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R557"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="same-code nl-2 ol-2" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="555"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L555"></span></td> <td class="lines-num lines-num-new" data-line-num="558"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R558"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="same-code nl-3 ol-3" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="556"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L556"></span></td> <td class="lines-num lines-num-new" data-line-num="559"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R559"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> </select></code> </td> </tr> <tr class="del-code nl-4 ol-4" data-line-type="del"> <td class="lines-num lines-num-old" data-line-num="557"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L557"></span></td> <td class="lines-num lines-num-new" data-line-num=""><span rel=""></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="-"></span></td> <td class="chroma lines-code lines-code-old"><code class="code-inner"> [% <span class="removed-code">UNLESS</span> mandatoryrelationship %]</code> </td> </tr> <tr class="add-code nl-5 ol-5" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="560"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R560"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> [% <span class="added-code">IF</span> mandatoryrelationship %]</code> </td> </tr> <tr class="same-code nl-6 ol-6" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="558"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L558"></span></td> <td class="lines-num lines-num-new" data-line-num="561"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R561"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="required">Required</span></code> </td> </tr> <tr class="same-code nl-7 ol-7" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="559"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L559"></span></td> <td class="lines-num lines-num-new" data-line-num="562"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R562"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> [% END %]</code> </td> </tr> <tr class="same-code nl-8 ol-8" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="560"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80L560"></span></td> <td class="lines-num lines-num-new" data-line-num="563"><span rel="diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80R563"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> </li></code> </td> </tr> <tr class="tag-code nl-0 ol-0" data-line-type="tag"> <td colspan="2" class="lines-num"> <div class="tw-flex"> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=560&last_right=563&left=2082&right=2085&left_hunk_size=0&right_hunk_size=0&path=koha-tmpl%2Fintranet-tmpl%2Fprog%2Fen%2Fmodules%2Fmembers%2Fmemberentrygen.tt&style=unified&direction=down&wiki=&anchor=diff-241ba4426f5cf4b255c8afe40d95e0ff971a7a80K2085"> <svg viewBox="0 0 16 16" class="svg octicon-fold-down" aria-hidden="true" width="16" height="16"><path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0M2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75M8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75m2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5z"/></svg> </button> </div> </td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code blob-hunk"><code class="code-inner"><br></code> </td> </tr> </table> </div> </div> </div> <div class="diff-file-box diff-box file-content tab-size-4 tw-mt-0" id="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4" data-old-filename="members/memberentry.pl" data-new-filename="members/memberentry.pl" > <h4 class="diff-file-header sticky-2nd-row ui top attached header tw-font-normal tw-flex tw-items-center tw-justify-between tw-flex-wrap"> <div class="diff-file-name tw-flex tw-flex-1 tw-items-center tw-gap-1 tw-flex-wrap"> <button class="fold-file btn interact-bg tw-p-1"> <svg viewBox="0 0 16 16" class="svg octicon-chevron-down" aria-hidden="true" width="18" height="18"><path d="M12.78 5.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.75.75 0 0 1 1.06 0"/></svg> </button> <div class="tw-font-semibold tw-flex tw-items-center tw-font-mono"> 16 <span class="diff-stats-bar tw-mx-2" data-tooltip-content="16 changes: 16 additions and 0 deletions"> <div class="diff-stats-add-bar" style="width: 100%"></div> </span> </div> <span class="file tw-flex tw-items-center tw-font-mono tw-flex-1"><a class="muted file-link" title="members/memberentry.pl" href="#diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4">members/memberentry.pl</a> <button class="btn interact-fg tw-p-2" data-clipboard-text="members/memberentry.pl" data-tooltip-content="Copy to clipboard" aria-label="Copy to clipboard"><svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg></button> </span> </div> <div class="diff-file-header-actions tw-flex tw-items-center button-row tw-flex-wrap"> <button class="ui basic tiny button unescape-button not-mobile">Unescape</button> <button class="ui basic tiny button escape-button tw-hidden">Escape</button> <a class="ui basic tiny button" rel="nofollow" href="/Koha-community/Koha/src/commit/2e7e5c465916f54c0158872408b730a3369a795e/members/memberentry.pl">View file</a> </div> </h4> <div class="diff-file-body ui attached unstackable table segment" > <div id="diff-source-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4" class="file-body file-code unicode-escaped code-diff code-diff-unified"> <table class="chroma" data-new-comment-url="/files/reviews/new_comment" data-path="members/memberentry.pl"> <colgroup> <col width="50"> <col width="50"> <col width="10"> <col width="10"> <col> </colgroup> <tr class="tag-code nl-0 ol-0" data-line-type="tag"> <td colspan="2" class="lines-num"> <div class="tw-flex"> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=0&last_right=0&left=289&right=289&left_hunk_size=6&right_hunk_size=22&path=members%2Fmemberentry.pl&style=unified&direction=up&wiki=&anchor=diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4K289"> <svg viewBox="0 0 16 16" class="svg octicon-fold-up" aria-hidden="true" width="16" height="16"><path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0M13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5zM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75M1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg> </button> </div> </td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=""></span></td> <td class="chroma lines-code blob-hunk"><code class="code-inner">@ -289,6 +289,22 @@ foreach my $guarantor (@guarantors) {</code> </td> </tr> <tr class="same-code nl-1 ol-1" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="289"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L289"></span></td> <td class="lines-num lines-num-new" data-line-num="289"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R289"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="p">}</span></code> </td> </tr> <tr class="same-code nl-2 ol-2" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="290"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L290"></span></td> <td class="lines-num lines-num-new" data-line-num="290"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R290"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="p">}</span></code> </td> </tr> <tr class="same-code nl-3 ol-3" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="291"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L291"></span></td> <td class="lines-num lines-num-new" data-line-num="291"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R291"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"> </code> </td> </tr> <tr class="add-code nl-4 ol-4" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="292"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R292"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="k">my</span> <span class="nv">@</span><span class="nv">valid_relationships</span> <span class="o">=</span> <span class="nb">split</span><span class="p">(</span><span class="sr">/\|/</span><span class="p">,</span> <span class="n"></span><span class="nn">C4::Context</span><span class="o">-</span><span class="o">></span><span class="n"></span><span class="n">preference</span><span class="p">(</span><span class="s">'borrowerRelationship'</span><span class="p">)</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-5 ol-5" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="293"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R293"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="k">if</span> <span class="p">(</span><span class="nv">@</span><span class="nv">valid_relationships</span><span class="p">)</span> <span class="p">{</span></code> </td> </tr> <tr class="add-code nl-6 ol-6" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="294"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R294"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">my</span> <span class="nv">@</span><span class="nv">new_guarantor_id</span> <span class="o">=</span> <span class="nv">$</span><span class="nv">input</span><span class="o">-</span><span class="o">></span><span class="n"></span><span class="n">multi_param</span><span class="p">(</span><span class="s">'new_guarantor_id'</span><span class="p">)</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-7 ol-7" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="295"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R295"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">my</span> <span class="nv">@</span><span class="nv">new_guarantor_relationship</span> <span class="o">=</span> <span class="nv">$</span><span class="nv">input</span><span class="o">-</span><span class="o">></span><span class="n"></span><span class="n">multi_param</span><span class="p">(</span><span class="s">'new_guarantor_relationship'</span><span class="p">)</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-8 ol-8" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="296"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R296"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> </code> </td> </tr> <tr class="add-code nl-9 ol-9" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="297"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R297"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">for</span> <span class="p">(</span> <span class="k">my</span> <span class="nv">$</span><span class="nv">i</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span> <span class="nv">$</span><span class="nv">i</span> <span class="o"><</span> <span class="nb">scalar</span> <span class="nv">@</span><span class="nv">new_guarantor_id</span><span class="p">;</span> <span class="nv">$</span><span class="nv">i</span><span class="o">+</span><span class="o">+</span> <span class="p">)</span> <span class="p">{</span></code> </td> </tr> <tr class="add-code nl-10 ol-10" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="298"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R298"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">my</span> <span class="nv">$</span><span class="nv">guarantor_id</span> <span class="o">=</span> <span class="nv">$</span><span class="nv">new_guarantor_id</span><span class="p">[</span><span class="nv">$</span><span class="nv">i</span><span class="p">]</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-11 ol-11" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="299"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R299"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">my</span> <span class="nv">$</span><span class="nv">relationship</span> <span class="o">=</span> <span class="nv">$</span><span class="nv">new_guarantor_relationship</span><span class="p">[</span><span class="nv">$</span><span class="nv">i</span><span class="p">]</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-12 ol-12" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="300"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R300"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> </code> </td> </tr> <tr class="add-code nl-13 ol-13" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="301"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R301"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">next</span> <span class="k">unless</span> <span class="nv">$</span><span class="nv">guarantor_id</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-14 ol-14" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="302"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R302"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="k">unless</span> <span class="p">(</span> <span class="nb">grep</span> <span class="p">{</span> <span class="nv">$</span><span class="nv">_</span> <span class="ow">eq</span> <span class="nv">$</span><span class="nv">relationship</span> <span class="p">}</span> <span class="nv">@</span><span class="nv">valid_relationships</span> <span class="p">)</span> <span class="p">{</span></code> </td> </tr> <tr class="add-code nl-15 ol-15" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="303"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R303"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="nb">push</span> <span class="nv">@</span><span class="nv">errors</span><span class="p">,</span> <span class="s">'ERROR_invalid_relationship'</span><span class="p">;</span></code> </td> </tr> <tr class="add-code nl-16 ol-16" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="304"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R304"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="p">}</span></code> </td> </tr> <tr class="add-code nl-17 ol-17" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="305"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R305"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> <span class="p">}</span></code> </td> </tr> <tr class="add-code nl-18 ol-18" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="306"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R306"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="p">}</span></code> </td> </tr> <tr class="add-code nl-19 ol-19" data-line-type="add"> <td class="lines-num lines-num-old" data-line-num=""><span rel=""></span></td> <td class="lines-num lines-num-new" data-line-num="307"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R307"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="+"></span></td> <td class="chroma lines-code"><code class="code-inner"> </code> </td> </tr> <tr class="same-code nl-20 ol-20" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="292"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L292"></span></td> <td class="lines-num lines-num-new" data-line-num="308"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R308"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="c1">###############test to take the right zipcode, country and city name ##############</span></code> </td> </tr> <tr class="same-code nl-21 ol-21" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="293"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L293"></span></td> <td class="lines-num lines-num-new" data-line-num="309"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R309"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="c1"># set only if parameter was passed from the form</span></code> </td> </tr> <tr class="same-code nl-22 ol-22" data-line-type="same"> <td class="lines-num lines-num-old" data-line-num="294"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4L294"></span></td> <td class="lines-num lines-num-new" data-line-num="310"><span rel="diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4R310"></span></td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code"><code class="code-inner"><span class="nv">$</span><span class="nv">newdata</span><span class="p">{</span><span class="s">'city'</span><span class="p">}</span> <span class="o">=</span> <span class="nv">$</span><span class="nv">input</span><span class="o">-</span><span class="o">></span><span class="n"></span><span class="n">param</span><span class="p">(</span><span class="s">'city'</span><span class="p">)</span> <span class="k">if</span> <span class="nb">defined</span><span class="p">(</span><span class="nv">$</span><span class="nv">input</span><span class="o">-</span><span class="o">></span><span class="n"></span><span class="n">param</span><span class="p">(</span><span class="s">'city'</span><span class="p">)</span><span class="p">)</span><span class="p">;</span></code> </td> </tr> <tr class="tag-code nl-0 ol-0" data-line-type="tag"> <td colspan="2" class="lines-num"> <div class="tw-flex"> <button class="code-expander-button" hx-target="closest tr" hx-get="/Koha-community/Koha/blob_excerpt/2e7e5c465916f54c0158872408b730a3369a795e?last_left=294&last_right=310&left=949&right=965&left_hunk_size=0&right_hunk_size=0&path=members%2Fmemberentry.pl&style=unified&direction=down&wiki=&anchor=diff-5f3e5fd83f56d91a6dc191e2b0cac3b7701e56f4K965"> <svg viewBox="0 0 16 16" class="svg octicon-fold-down" aria-hidden="true" width="16" height="16"><path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0M2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75M8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5zM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75m2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5z"/></svg> </button> </div> </td> <td class="lines-escape"></td> <td class="lines-type-marker"><span class="tw-font-mono" data-type-marker=" "></span></td> <td class="chroma lines-code blob-hunk"><code class="code-inner"><br></code> </td> </tr> </table> </div> </div> </div> </div> </div> <template id="issue-comment-editor-template"> <div class="ui comment form"> <div class="combo-markdown-editor " data-dropzone-parent-container=".ui.form"> <div class="ui top tabular menu"> <a href="#" class="active item" data-tab-for="markdown-writer">Write</a> <a href="#" class="item" data-tab-for="markdown-previewer" data-preview-url="/Koha-community/Koha/markup" data-preview-context="/Koha-community/Koha">Preview</a> </div> <div class="ui tab active" data-tab-panel="markdown-writer"> <markdown-toolbar> <div class="markdown-toolbar-group"> <md-header class="markdown-toolbar-button" data-tooltip-content="Add heading"><svg viewBox="0 0 16 16" class="svg octicon-heading" aria-hidden="true" width="16" height="16"><path d="M3.75 2a.75.75 0 0 1 .75.75V7h7V2.75a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0V8.5h-7v4.75a.75.75 0 0 1-1.5 0V2.75A.75.75 0 0 1 3.75 2"/></svg></md-header> <md-bold class="markdown-toolbar-button" data-tooltip-content="Add bold text"><svg viewBox="0 0 16 16" class="svg octicon-bold" aria-hidden="true" width="16" height="16"><path d="M4 2h4.5a3.501 3.501 0 0 1 2.852 5.53A3.499 3.499 0 0 1 9.5 14H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1m1 7v3h4.5a1.5 1.5 0 0 0 0-3Zm3.5-2a1.5 1.5 0 0 0 0-3H5v3Z"/></svg></md-bold> <md-italic class="markdown-toolbar-button" data-tooltip-content="Add italic text"><svg viewBox="0 0 16 16" class="svg octicon-italic" aria-hidden="true" width="16" height="16"><path d="M6 2.75A.75.75 0 0 1 6.75 2h6.5a.75.75 0 0 1 0 1.5h-2.505l-3.858 9H9.25a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.505l3.858-9H6.75A.75.75 0 0 1 6 2.75"/></svg></md-italic> </div> <div class="markdown-toolbar-group"> <md-quote class="markdown-toolbar-button" data-tooltip-content="Quote text"><svg viewBox="0 0 16 16" class="svg octicon-quote" aria-hidden="true" width="16" height="16"><path d="M1.75 2.5h10.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5m4 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5m0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5M2.5 7.75v6a.75.75 0 0 1-1.5 0v-6a.75.75 0 0 1 1.5 0"/></svg></md-quote> <md-code class="markdown-toolbar-button" data-tooltip-content="Add code"><svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg></md-code> <md-link class="markdown-toolbar-button" data-tooltip-content="Add a link"><svg viewBox="0 0 16 16" class="svg octicon-link" aria-hidden="true" width="16" height="16"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .75.75 0 0 1 .018-1.042.75.75 0 0 1 1.042-.018 2 2 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042m-4.69 9.64a2 2 0 0 0 2.83 0l1.25-1.25a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .75.75 0 0 1-.018 1.042.75.75 0 0 1-1.042.018 2 2 0 0 0-2.83 0l-2.5 2.5a2 2 0 0 0 0 2.83"/></svg></md-link> </div> <div class="markdown-toolbar-group"> <md-unordered-list class="markdown-toolbar-button" data-tooltip-content="Add a bullet list"><svg viewBox="0 0 16 16" class="svg octicon-list-unordered" aria-hidden="true" width="16" height="16"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5m0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5m0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5M2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2m1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0M2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2"/></svg></md-unordered-list> <md-ordered-list class="markdown-toolbar-button" data-tooltip-content="Add a numbered list"><svg viewBox="0 0 16 16" class="svg octicon-list-ordered" aria-hidden="true" width="16" height="16"><path d="M5 3.25a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 5 3.25m0 5a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 5 8.25m0 5a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75M.924 10.32a.5.5 0 0 1-.851-.525l.001-.001.001-.002.002-.004.007-.011q.147-.217.348-.384c.228-.19.588-.392 1.068-.392.468 0 .858.181 1.126.484.259.294.377.673.377 1.038 0 .987-.686 1.495-1.156 1.845l-.047.035c-.303.225-.522.4-.654.597h1.357a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5c0-1.005.692-1.52 1.167-1.875l.035-.025c.531-.396.8-.625.8-1.078a.57.57 0 0 0-.128-.376C1.806 10.068 1.695 10 1.5 10a.66.66 0 0 0-.429.163.8.8 0 0 0-.144.153ZM2.003 2.5V6h.503a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1h.503V3.308l-.28.14a.5.5 0 0 1-.446-.895l1.003-.5a.5.5 0 0 1 .723.447"/></svg></md-ordered-list> <md-task-list class="markdown-toolbar-button" data-tooltip-content="Add a list of tasks"><svg viewBox="0 0 16 16" class="svg octicon-tasklist" aria-hidden="true" width="16" height="16"><path d="M2 2h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1m4.655 8.595a.75.75 0 0 1 0 1.06L4.03 14.28a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215l.97.97 2.095-2.095a.75.75 0 0 1 1.06 0M9.75 2.5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5m0 5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5m0 5h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5m-7.25-9v3h3v-3Z"/></svg></md-task-list> <button type="button" class="markdown-toolbar-button" data-md-button data-md-action="unindent" data-tooltip-content="Unnest items by one level"><svg viewBox="0 0 16 16" class="svg octicon-arrow-left" aria-hidden="true" width="16" height="16"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06"/></svg></button> <button type="button" class="markdown-toolbar-button" data-md-button data-md-action="indent" data-tooltip-content="Nest items by one level"><svg viewBox="0 0 16 16" class="svg octicon-arrow-right" aria-hidden="true" width="16" height="16"><path d="M8.22 2.97a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042l2.97-2.97H3.75a.75.75 0 0 1 0-1.5h7.44L8.22 4.03a.75.75 0 0 1 0-1.06"/></svg></button> </div> <div class="markdown-toolbar-group"> <md-mention class="markdown-toolbar-button" data-tooltip-content="Mention a user or team"><svg viewBox="0 0 16 16" class="svg octicon-mention" aria-hidden="true" width="16" height="16"><path d="M4.75 2.37a6.501 6.501 0 0 0 6.5 11.26.75.75 0 0 1 .75 1.298A7.999 7.999 0 0 1 .989 4.148 8 8 0 0 1 16 7.75v1.5a2.75 2.75 0 0 1-5.072 1.475 3.999 3.999 0 0 1-6.65-4.19A4 4 0 0 1 12 8v1.25a1.25 1.25 0 0 0 2.5 0V7.867a6.5 6.5 0 0 0-9.75-5.496ZM10.5 8a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0"/></svg></md-mention> <md-ref class="markdown-toolbar-button" data-tooltip-content="Reference an issue or pull request"><svg viewBox="0 0 16 16" class="svg octicon-cross-reference" aria-hidden="true" width="16" height="16"><path d="M2.75 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.75.75 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 13H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 14.543V13H2.75A1.75 1.75 0 0 1 1 11.25v-7.5C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 0 1 0 1.5ZM16 1.25v4.146a.25.25 0 0 1-.427.177L14.03 4.03l-3.75 3.75a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734l3.75-3.75-1.543-1.543A.25.25 0 0 1 11.604 1h4.146a.25.25 0 0 1 .25.25"/></svg></md-ref> </div> <div class="markdown-toolbar-group"> <button class="markdown-toolbar-button markdown-switch-monospace" role="switch" data-enable-text="Enable monospace font" data-disable-text="Disable monospace font"><svg viewBox="0 0 16 16" class="svg octicon-typography" aria-hidden="true" width="16" height="16"><path d="M6.71 10H2.332l-.874 2.498a.75.75 0 0 1-1.415-.496l3.39-9.688a1.217 1.217 0 0 1 2.302.018l3.227 9.681a.75.75 0 0 1-1.423.474Zm3.13-4.358C10.53 4.374 11.87 4 13 4c1.5 0 3 .939 3 2.601v5.649a.75.75 0 0 1-1.448.275C13.995 12.82 13.3 13 12.5 13c-.77 0-1.514-.231-2.078-.709-.577-.488-.922-1.199-.922-2.041 0-.694.265-1.411.887-1.944C11 7.78 11.88 7.5 13 7.5h1.5v-.899c0-.54-.5-1.101-1.5-1.101-.869 0-1.528.282-1.84.858a.75.75 0 1 1-1.32-.716M6.21 8.5 4.574 3.594 2.857 8.5Zm8.29.5H13c-.881 0-1.375.22-1.637.444-.253.217-.363.5-.363.806 0 .408.155.697.39.896.249.21.63.354 1.11.354.732 0 1.26-.209 1.588-.449.35-.257.412-.495.412-.551Z"/></svg></button> </div> </markdown-toolbar> <text-expander keys=": @" suffix=""> <textarea class="markdown-text-editor js-quick-submit" name="content"></textarea> </text-expander> <script> if (localStorage?.getItem('markdown-editor-monospace') === 'true') { document.querySelector('.markdown-text-editor').classList.add('tw-font-mono'); } </script> </div> <div class="ui tab markup" data-tab-panel="markdown-previewer"> Loading… </div> </div> <div class="text right edit buttons"> <button class="ui cancel button">Cancel</button> <button class="ui primary save button">Save</button> </div> </div> </template> <div class="ui small modal" id="reference-issue-modal"> <div class="header"> Reference in a new issue </div> <div class="content"> <form class="ui form form-fetch-action" action="/Koha-community/Koha/issues/new" method="post"> <input type="hidden" name="_csrf" value="sA1P7TkT-05Fd7jGIEBjkGVJzMk6MTczMjQyODk3Mjg1NTA1MDY2MA"> <div class="field"> <label><strong>Repository</strong></label> <div class="ui search selection dropdown issue_reference_repository_search"> <div class="default text gt-ellipsis">Koha-community/Koha</div> <div class="menu"></div> </div> </div> <div class="field"> <label><strong>Title</strong></label> <input name="title" value="" autofocus required maxlength="255" autocomplete="off"> </div> <div class="field"> <label><strong>Body</strong></label> <textarea name="content"></textarea> </div> <div class="text right"> <button class="ui primary button">Create issue</button> </div> </form> </div> </div> </div> </div> </div> </div> <footer class="page-footer" role="group" aria-label="Footer"> <div class="left-links" role="contentinfo" aria-label="About this software"> <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org">Powered by Forgejo</a> Version: 8.0.2+gitea-1.22.0 Page: <strong>135ms</strong> Template: <strong>40ms</strong> </div> <div class="right-links" role="group" aria-label="Links"> <div class="ui dropdown upward language"> <span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> English</span> <div class="menu language-menu"> <a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a> <a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a> <a lang="en-US" data-url="/?lang=en-US" class="item active selected">English</a> <a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a> <a lang="eo" data-url="/?lang=eo" class="item ">Esperanto</a> <a lang="fil" data-url="/?lang=fil" class="item ">Filipino</a> <a lang="fr-FR" data-url="/?lang=fr-FR" class="item ">Français</a> <a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a> <a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a> <a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a> <a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a> <a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a> <a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a> <a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a> <a lang="sl" data-url="/?lang=sl" class="item ">Slovenščina</a> <a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a> <a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a> <a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a> <a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a> <a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a> <a lang="bg" data-url="/?lang=bg" class="item ">Български</a> <a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a> <a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a> <a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a> <a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a> <a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a> <a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a> <a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a> <a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a> </div> </div> <a href="/assets/licenses.txt">Licenses</a> <a href="/api/swagger">API</a> </div> </footer> <script src="/assets/js/index.js?v=8.0.2~gitea-1.22.0" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script> </body> </html>