478 lines
32 KiB
HTML
478 lines
32 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-GB">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta charset="utf-8"/>
|
|
<title>{{ model.title }} - DOG</title>
|
|
<meta name="description" content="Explore our wide range of software engineering services. We specialize in various tech stacks including MySQL, Python, Microsoft SQL Server, C#, Firebase, Node.js, Java, HTML5, React, CSS3, Flask, JavaScript, MVC, and REST." />
|
|
<meta name="keywords" content="software engineering, software development, software design, software testing, software maintenance, software support, software consultancy, software training, software documentation, software project management, software quality assurance, software process improvement, software configuration management, software requirements engineering, software architecture, software design patterns, software design principles, software testing principles, software testing techniques, software testing tools, software testing automation, software testing manual, software testing exploratory, software testing regression, software testing performance, software testing security, software testing usability, software testing accessibility, software testing compatibility, software testing reliability, software testing maintainability, software testing portability, software testing scalability, software testing test-driven development, software testing behaviour-driven development, software testing acceptance test-driven development, software testing continuous integration, software testing continuous deployment, software testing continuous delivery, software testing continuous monitoring, software testing continuous feedback, software testing continuous improvement, software testing agile, software testing scrum, software testing kanban, software testing lean, software testing waterfall, software testing v-model, software testing spiral, software testing incremental, software testing iterative, software testing adaptive, software testing predictive, software testing hybrid, software testing manual, software testing automated, software testing exploratory, software testing regression, software testing performance, software testing security, software testing usability, software testing accessibility, software testing compatibility, software testing reliability, software testing maintainability, software testing portability, software testing scalability, software testing test-driven development, software testing behaviour-driven development, software testing acceptance test-driven development, software testing continuous integration, software testing continuous deployment, software testing continuous delivery, software testing continuous monitoring, software testing continuous feedback, software testing continuous improvement, software testing agile, software testing scrum, software testing kanban, software testing lean, software testing waterfall, software testing v-model, software testing spiral, software testing incremental, software testing iterative, software testing adaptive, software testing predictive, software testing hybrid, software testing manual, software testing automated, software testing exploratory, software testing regression, software testing performance, software testing security, software testing usability, software testing accessibility, software testing compatibility, software testing reliability, software testing maintainability, software testing portability, software testing scalability, software testing test-driven development, software testing behaviour-driven development, software testing acceptance test-driven development, software testing continuous integration, software testing continuous deployment, software testing continuous delivery, software testing continuous monitoring, software testing continuous feedback, software testing continuous improvement, software testing agile, software testing, MySQL, Python, Microsoft SQL Server, MS SQL Server, C#, Firebase, Node.js, Java, HTML5, React, CSS3, Flask, JavaScript, MVC, REST" />
|
|
<link rel="canonical" href="{{ model.get_url_host() }}" />
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "ProfessionalService",
|
|
"name": "{{ model.NAME_COMPANY_SHORT }}",
|
|
"url": "{{ model.get_url_host() }}",
|
|
"logo": "{{ model.get_url_host() }}{{ url_for('static', filename='images/Logo.png') }}",
|
|
"description": "Explore our wide range of software engineering services. We specialize in various tech stacks including MySQL, Python, Microsoft SQL Server, C#, Firebase, Node.js, Java, HTML5, React, CSS3, Flask, JavaScript, MVC, and REST.",
|
|
"address": {
|
|
"@type": "PostalAddress",
|
|
"streetAddress": "53 Alfred Green Close",
|
|
"addressLocality": "Rugby",
|
|
"addressRegion": "Warwickshire",
|
|
"postalCode": "CV22 6DN",
|
|
"addressCountry": "United Kingdom"
|
|
},
|
|
"geo": {
|
|
"@type": "GeoCoordinates",
|
|
"latitude": "52.22",
|
|
"longitude": "1.16"
|
|
},
|
|
"openingHours": "Mo,Tu,We,Th,Fr 09:00-17:00",
|
|
"priceRange": "$$",
|
|
}
|
|
</script>
|
|
<meta name="yandex-verification" content="4693a824cfda082a" />
|
|
<meta id="{{ model.ID_CSRF_TOKEN }}" name="{{ model.FLAG_CSRF_TOKEN }}" content="{{ csrf_token() }}" />
|
|
|
|
<script>
|
|
{#
|
|
var attrIdAccessLevel = "{{ model.ATTR_ID_ACCESS_LEVEL }}";
|
|
var attrIdCurrency = "{{ model.ATTR_ID_CURRENCY }}";
|
|
var attrIdAddress = "{{ model.ATTR_ID_ADDRESS }}";
|
|
var attrIdPlant = "{{ model.ATTR_ID_PLANT }}";
|
|
var attrIdRegion = "{{ model.ATTR_ID_REGION }}";
|
|
var attrIdStorageLocation = "{{ model.ATTR_ID_STORAGE_LOCATION }}";
|
|
var attrTextCollapsed = "{{ model.ATTR_TEXT_COLLAPSED }}";
|
|
var attrTextExpanded = "{{ model.ATTR_TEXT_EXPANDED }}";
|
|
var attrValueCurrent = "{{ model.ATTR_VALUE_CURRENT }}";
|
|
var attrValuePrevious = "{{ model.ATTR_VALUE_PREVIOUS }}";
|
|
var attrValueNew = "{{ model.ATTR_VALUE_NEW }}";
|
|
var environment = {
|
|
"name": "{{ model.app.app_config.FLASK_ENV }}",
|
|
"is_production": "{{ model.app.app_config.is_production }}",
|
|
"is_development": "{{ model.app.app_config.is_development }}",
|
|
};
|
|
var flagAccessLevel = "{{ model.FLAG_ACCESS_LEVEL }}";
|
|
var flagAccessLevelRequired = "{{ model.FLAG_ACCESS_LEVEL_REQUIRED }}";
|
|
var flagActive = "{{ model.FLAG_ACTIVE }}";
|
|
var flagAdd = "{{ model.FLAG_ADD }}";
|
|
var flagAddress = "{{ model.FLAG_ADDRESS }}";
|
|
var flagAddressLine1 = "{{ model.FLAG_ADDRESS_LINE_1 }}";
|
|
var flagAddressLine2 = "{{ model.FLAG_ADDRESS_LINE_2 }}";
|
|
var flagButton = "{{ model.FLAG_BUTTON }}";
|
|
var flagButtonPrimary = "{{ model.FLAG_BUTTON_PRIMARY }}";
|
|
var flagCallback = "{{ model.FLAG_CALLBACK }}";
|
|
var flagCancel = "{{ model.FLAG_CANCEL }}";
|
|
var flagCard = "{{ model.FLAG_CARD }}";
|
|
var flagCity = "{{ model.FLAG_CITY }}";
|
|
var flagCloseTemporaryElement = "{{ model.FLAG_CLOSE_TEMPORARY_ELEMENT }}";
|
|
var flagCode = "{{ model.FLAG_CODE }}";
|
|
var flagCollapsed = "{{ model.FLAG_COLLAPSED }}";
|
|
var flagCollapsible = "{{ model.FLAG_COLLAPSIBLE }}";
|
|
var flagColumn = "{{ model.FLAG_COLUMN }}";
|
|
var flagComment = "{{ model.FLAG_COMMENT }}";
|
|
// var flagContactUs = "{{ model.FLAG_CONTACT_US }}";
|
|
var flagContainer = "{{ model.FLAG_CONTAINER }}";
|
|
var flagContainerCheckbox = "{{ model.FLAG_CONTAINER_CHECKBOX }}";
|
|
var flagContainerInput = "{{ model.FLAG_CONTAINER_INPUT }}";
|
|
var flagCounty = "{{ model.FLAG_COUNTY }}";
|
|
var flagCsrfToken = "{{ model.FLAG_CSRF_TOKEN }}";
|
|
var flagCurrency = "{{ model.FLAG_CURRENCY }}";
|
|
var flagDelete = "{{ model.FLAG_DELETE }}";
|
|
var flagDescription = "{{ model.FLAG_DESCRIPTION }}";
|
|
var flagDetail = "{{ model.FLAG_DETAIL }}";
|
|
var flagDialog = "{{ model.FLAG_DIALOG }}";
|
|
var flagDirty = "{{ model.FLAG_DIRTY }}";
|
|
var flagDisplayOrder = "{{ model.FLAG_DISPLAY_ORDER }}";
|
|
var flagDragging = "dragging";
|
|
var flagDragOver = "drag-over";
|
|
var flagEdit = "{{ model.FLAG_EDIT }}";
|
|
var flagEmail = "{{ model.FLAG_EMAIL }}";
|
|
var flagError = "{{ model.FLAG_ERROR }}";
|
|
var flagExpanded = "{{ model.FLAG_EXPANDED }}";
|
|
var flagFailure = "{{ model.FLAG_FAILURE }}";
|
|
var flagFax = "{{ model.FLAG_FAX }}";
|
|
var flagFilter = "{{ model.FLAG_FILTER }}";
|
|
var flagForm = "{{ model.FLAG_FORM }}";
|
|
var flagFormFilters = "{{ model.FLAG_FORM_FILTERS }}";
|
|
var flagImageLogo = "{{ model.FLAG_IMAGE_LOGO }}";
|
|
var flagInitialised = "{{ model.FLAG_INITIALISED }}";
|
|
// var flagItems = "{{ model.FLAG_ITEMS }}";
|
|
// var flagKeyPrimary = "{{ model.FLAG_KEY_PRIMARY }}";
|
|
var flagLeftHandStub = "{{ model.FLAG_LEFT_HAND_STUB }}";
|
|
var flagLogo = "{{ model.FLAG_LOGO }}";
|
|
var flagMessage = "{{ model.FLAG_MESSAGE }}";
|
|
var flagModal = "{{ model.FLAG_MODAL }}";
|
|
var flagMove = "move";
|
|
var flagName = "{{ model.FLAG_NAME }}";
|
|
var flagNameAttrOptionText = "{{ model.FLAG_NAME_ATTR_OPTION_TEXT}}";
|
|
var flagNameAttrOptionValue = "{{ model.FLAG_NAME_ATTR_OPTION_VALUE }}";
|
|
var flagNamePlural = "{{ model.FLAG_NAME_PLURAL }}";
|
|
var flagNavAdminHome = "{{ model.FLAG_NAV_ADMIN_HOME }}";
|
|
var flagNavContact = "{{ model.FLAG_NAV_CONTACT }}";
|
|
var flagNavHome = "{{ model.FLAG_NAV_HOME }}";
|
|
var flagNavServices = "{{ model.FLAG_NAV_SERVICES }}";
|
|
var flagNavUserAccount = "{{ model.FLAG_NAV_USER_ACCOUNT }}";
|
|
var flagNavUserAdmin = "{{ model.FLAG_NAV_USER_ADMIN }}";
|
|
var flagNavUserLogin = "{{ model.FLAG_NAV_USER_LOGIN }}";
|
|
var flagNavUserLogout = "{{ model.FLAG_NAV_USER_LOGOUT }}";
|
|
var flagOverlay = "{{ model.FLAG_OVERLAY }}";
|
|
var flagOverlayClose = "{{ model.FLAG_OVERLAY_CLOSE }}";
|
|
var flagPageBody = "{{ model.FLAG_PAGE_BODY }}";
|
|
var flagPhoneNumber = "{{ model.FLAG_PHONE_NUMBER }}";
|
|
var flagPostcode = "{{ model.FLAG_POSTCODE }}";
|
|
var flagCaptcha = "{{ model.FLAG_CAPTCHA }}";
|
|
var flagRightHandSide = "{{ model.FLAG_RIGHT_HAND_SIDE }}";
|
|
var flagRow = "{{ model.FLAG_ROW }}";
|
|
var flagRowNew = "{{ model.FLAG_ROW_NEW }}";
|
|
var flagRows = "{{ model.FLAG_ROWS }}";
|
|
var flagSave = "{{ model.FLAG_SAVE }}";
|
|
var flagScrollable = "{{ model.FLAG_SCROLLABLE }}";
|
|
var flagSlider = "{{ model.FLAG_SLIDER }}";
|
|
var flagStatus = "{{ model.FLAG_STATUS }}";
|
|
var flagSubmit = "{{ model.FLAG_SUBMIT }}";
|
|
var flagSubmitted = "{{ model.FLAG_SUBMITTED }}";
|
|
var flagSuccess = "{{ model.FLAG_SUCCESS }}";
|
|
var flagTemporaryElement = "{{ model.FLAG_TEMPORARY_ELEMENT }}";
|
|
var flagUser = "{{ model.FLAG_USER }}";
|
|
var flagWebsite = "{{ model.FLAG_WEBSITE }}";
|
|
var hashGetALTCHAChallenge = "{{ model.HASH_ALTCHA_CREATE_CHALLENGE }}";
|
|
var hashPageAccessibilityReport = "{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}";
|
|
var hashPageAccessibilityStatement = "{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}";
|
|
var hashPageContact = "{{ model.HASH_PAGE_CONTACT }}";
|
|
var hashPageContactSuccess = "{{ model.HASH_PAGE_CONTACT_SUCCESS }}";
|
|
var hashPageDataRetentionSchedule = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}";
|
|
var hashPageErrorNoPermission = "{{ model.HASH_PAGE_ERROR_NO_PERMISSION }}";
|
|
var hashPageHome = "{{ model.HASH_PAGE_HOME }}";
|
|
var hashPageLicense = "{{ model.HASH_PAGE_LICENSE }}";
|
|
var hashPagePrivacyPolicy = "{{ model.HASH_PAGE_PRIVACY_POLICY }}";
|
|
var idButtonApplyFilters = "#{{ model.ID_BUTTON_APPLY_FILTERS }}";
|
|
var idButtonHamburger = "#{{ model.ID_BUTTON_HAMBURGER }}";
|
|
var idCSRFToken = "#{{ model.ID_CSRF_TOKEN }}";
|
|
var idFormFilters = "#{{ model.ID_FORM_FILTERS }}";
|
|
var idLabelError = "#{{ model.ID_LABEL_ERROR }}";
|
|
var idOverlayConfirm = "#{{ model.ID_OVERLAY_CONFIRM }}";
|
|
var idOverlayError = "#{{ model.ID_OVERLAY_ERROR }}";
|
|
var idOverlayHamburger = "#{{ model.ID_OVERLAY_HAMBURGER }}";
|
|
var idPageBody = "#{{ model.ID_PAGE_BODY }}";
|
|
var idTableMain = "#{{ model.ID_TABLE_MAIN }}";
|
|
var idTextareaConfirm = "#{{ model.ID_TEXTAREA_CONFIRM }}";
|
|
var isUserLoggedIn = "{{ model.output_bool(model.IS_USER_LOGGED_IN) }}";
|
|
var _pathHost = "{{ model.get_url_host() }}";
|
|
var _rowBlank = null;
|
|
var titlePageCurrent = "{{ model.title }}";
|
|
var _verbose = ("{{ model.app.app_config.DEBUG }}" == "True");
|
|
#}
|
|
var attrIdAssessment = "{{ model.ATTR_ID_ASSESSMENT }}";
|
|
var attrIdAssessmentCommandModalityLink = "{{ model.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK }}";
|
|
var attrIdAssessmentResponse = "{{ model.ATTR_ID_ASSESSMENT_RESPONSE }}";
|
|
var attrIdAccessLevel = "{{ model.ATTR_ID_ACCESS_LEVEL }}";
|
|
var attrIdBribe = "{{ model.ATTR_ID_BRIBE }}";
|
|
var attrIdButtonColour = "{{ model.ATTR_ID_BUTTON_COLOUR }}";
|
|
var attrIdButtonIcon = "{{ model.ATTR_ID_BUTTON_ICON }}";
|
|
var attrIdButtonShape = "{{ model.ATTR_ID_BUTTON_SHAPE }}";
|
|
var attrIdColour = "{{ model.ATTR_ID_COLOUR }}";
|
|
var attrIdCommand = "{{ model.ATTR_ID_COMMAND }}";
|
|
var attrIdCommandButtonLink = "{{ model.ATTR_ID_COMMAND_BUTTON_LINK }}";
|
|
var attrIdCommandCategory = "{{ model.ATTR_ID_COMMAND_CATEGORY }}";
|
|
var attrIdCommandModality = "{{ model.ATTR_ID_COMMAND_MODALITY }}";
|
|
var attrIdCurrency = "{{ model.ATTR_ID_CURRENCY }}";
|
|
var attrIdDistraction = "{{ model.ATTR_ID_DISTRACTION }}";
|
|
var attrIdDistractionIntensityLevel = "{{ model.ATTR_ID_DISTRACTION_INTENSITY_LEVEL }}";
|
|
var attrIdDistractionType = "{{ model.ATTR_ID_DISTRACTION_TYPE }}";
|
|
var attrIdDog = "{{ model.ATTR_ID_DOG }}";
|
|
var attrIdDogCommandLink = "{{ model.ATTR_ID_DOG_COMMAND_LINK }}";
|
|
var attrIdLightingLevel = "{{ model.ATTR_ID_LIGHTING_LEVEL }}";
|
|
var attrIdLocation = "{{ model.ATTR_ID_LOCATION }}";
|
|
var attrIdWeather = "{{ model.ATTR_ID_WEATHER }}";
|
|
var attrTextCollapsed = "{{ model.ATTR_TEXT_COLLAPSED }}";
|
|
var attrTextExpanded = "{{ model.ATTR_TEXT_EXPANDED }}";
|
|
var attrValueCurrent = "{{ model.ATTR_VALUE_CURRENT }}";
|
|
var attrValuePrevious = "{{ model.ATTR_VALUE_PREVIOUS }}";
|
|
var attrValueNew = "{{ model.ATTR_VALUE_NEW }}";
|
|
var colourAccent = "{{ model.COLOUR_ACCENT }}";
|
|
var colourError = "{{ model.COLOUR_ERROR }}";
|
|
var colourPageBackground = "{{ model.COLOUR_PAGE_BACKGROUND }}";
|
|
var colourPageBackground1 = "{{ model.COLOUR_PAGE_BACKGROUND_1 }}";
|
|
var colourPageBackground2 = "{{ model.COLOUR_PAGE_BACKGROUND_2 }}";
|
|
var colourPrimary = "{{ model.COLOUR_PRIMARY }}";
|
|
var colourSecondary = "{{ model.COLOUR_SECONDARY }}";
|
|
var colourText = "{{ model.COLOUR_TEXT }}";
|
|
var colourTextBackground = "{{ model.COLOUR_TEXT_BACKGROUND }}";
|
|
var colourTextLinkUnvisited = "{{ model.COLOUR_TEXT_LINK_UNVISITED }}";
|
|
var colourTextLinkVisited = "{{ model.COLOUR_TEXT_LINK_VISITED }}";
|
|
var environment = {
|
|
"name": "{{ model.app.app_config.FLASK_ENV }}",
|
|
"is_production": "{{ model.app.app_config.is_production | lower }}",
|
|
"is_development": "{{ model.app.app_config.is_development | lower }}",
|
|
};
|
|
var flagAccessLevel = "{{ model.FLAG_ACCESS_LEVEL }}";
|
|
var flagAccessLevelRequired = "{{ model.FLAG_ACCESS_LEVEL_REQUIRED }}";
|
|
var flagActive = "{{ model.FLAG_ACTIVE }}";
|
|
var flagActiveOnly = "{{ model.FLAG_ACTIVE_ONLY }}";
|
|
var flagAdd = "{{ model.FLAG_ADD }}";
|
|
var flagAddress = "{{ model.FLAG_ADDRESS }}";
|
|
var flagAddressLine1 = "{{ model.FLAG_ADDRESS_LINE_1 }}";
|
|
var flagAddressLine2 = "{{ model.FLAG_ADDRESS_LINE_2 }}";
|
|
var flagAssessment = "{{ model.FLAG_ASSESSMENT }}";
|
|
var flagAssessmentCommandModalityLink = "{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}";
|
|
var flagAssessmentResponse = "{{ model.FLAG_ASSESSMENT_RESPONSE }}";
|
|
var flagBribe = "{{ model.FLAG_BRIBE }}";
|
|
var flagButton = "{{ model.FLAG_BUTTON }}";
|
|
var flagButtonIcon = "{{ model.FLAG_BUTTON_ICON }}";
|
|
var flagButtonShape = "{{ model.FLAG_BUTTON_SHAPE }}";
|
|
var flagButtonPrimary = "{{ model.FLAG_BUTTON_PRIMARY }}";
|
|
var flagCallback = "{{ model.FLAG_CALLBACK }}";
|
|
var flagCancel = "{{ model.FLAG_CANCEL }}";
|
|
var flagCaptcha = "{{ model.FLAG_CAPTCHA }}";
|
|
var flagCard = "{{ model.FLAG_CARD }}";
|
|
var flagCheckbox = "{{ model.FLAG_CHECKBOX }}";
|
|
var flagCity = "{{ model.FLAG_CITY }}";
|
|
var flagCloseTemporaryElement = "{{ model.FLAG_CLOSE_TEMPORARY_ELEMENT }}";
|
|
var flagCode = "{{ model.FLAG_CODE }}";
|
|
var flagCollapsible = "{{ model.FLAG_COLLAPSIBLE }}";
|
|
var flagColour = "{{ model.FLAG_COLOUR }}";
|
|
var flagColumn = "{{ model.FLAG_COLUMN }}";
|
|
var flagCommand = "{{ model.FLAG_COMMAND }}";
|
|
var flagCommandButtonLink = "{{ model.FLAG_COMMAND_BUTTON_LINK }}";
|
|
var flagCommandCategory = "{{ model.FLAG_COMMAND_CATEGORY }}";
|
|
var flagComment = "{{ model.FLAG_COMMENT }}";
|
|
var flagContainer = "{{ model.FLAG_CONTAINER }}";
|
|
var flagContainerInput = "{{ model.FLAG_CONTAINER_INPUT }}";
|
|
var flagCounty = "{{ model.FLAG_COUNTY }}";
|
|
var flagCsrfToken = "{{ model.FLAG_CSRF_TOKEN }}";
|
|
var flagCurrency = "{{ model.FLAG_CURRENCY }}";
|
|
var flagDdlPreview = "{{ model.FLAG_DDL_PREVIEW }}";
|
|
var flagDelete = "{{ model.FLAG_DELETE }}";
|
|
var flagDescription = "{{ model.FLAG_DESCRIPTION }}";
|
|
var flagDetail = "{{ model.FLAG_DETAIL }}";
|
|
var flagDialog = "{{ model.FLAG_DIALOG }}";
|
|
var flagDirty = "{{ model.FLAG_DIRTY }}";
|
|
var flagDisplayOrder = "{{ model.FLAG_DISPLAY_ORDER }}";
|
|
var flagDistraction = "{{ model.FLAG_DISTRACTION }}";
|
|
var flagDistractionIntensityLevel = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }}";
|
|
var flagDistractionType = "{{ model.FLAG_DISTRACTION_TYPE }}";
|
|
var flagDog = "{{ model.FLAG_DOG }}";
|
|
var flagDogDogCommandLink = "{{ model.FLAG_DOG_DOG_COMMAND_LINK }}";
|
|
var flagDragging = "dragging";
|
|
var flagDragOver = "drag-over";
|
|
var flagEdit = "{{ model.FLAG_EDIT }}";
|
|
var flagEmail = "{{ model.FLAG_EMAIL }}";
|
|
var flagError = "{{ model.FLAG_ERROR }}";
|
|
var flagExpanded = "{{ model.FLAG_EXPANDED }}";
|
|
var flagFailure = "{{ model.FLAG_FAILURE }}";
|
|
var flagFax = "{{ model.FLAG_FAX }}";
|
|
var flagFilter = "{{ model.FLAG_FILTER }}";
|
|
var flagForm = "{{ model.FLAG_FORM }}";
|
|
var flagFormFilters = "{{ model.FLAG_FORM_FILTERS }}";
|
|
var flagIcon = "{{ model.FLAG_ICON }}";
|
|
var flagImageLogo = "{{ model.FLAG_IMAGE_LOGO }}";
|
|
var flagInitialised = "{{ model.FLAG_INITIALISED }}";
|
|
var flagIsChecked = "{{ model.FLAG_IS_CHECKED }}";
|
|
var flagIsCollapsed = "{{ model.FLAG_IS_COLLAPSED }}";
|
|
var flagLeftHandStub = "{{ model.FLAG_LEFT_HAND_STUB }}";
|
|
var flagLightingLevel = "{{ model.FLAG_LIGHTING_LEVEL }}";
|
|
var flagLocation = "{{ model.FLAG_LOCATION }}";
|
|
var flagLocationParent = "{{ model.FLAG_LOCATION_PARENT }}";
|
|
var flagLogo = "{{ model.FLAG_LOGO }}";
|
|
var flagMessage = "{{ model.FLAG_MESSAGE }}";
|
|
var flagModal = "{{ model.FLAG_MODAL }}";
|
|
var flagMove = "move";
|
|
var flagName = "{{ model.FLAG_NAME }}";
|
|
var flagNameAttrOptionText = "{{ model.FLAG_NAME_ATTR_OPTION_TEXT}}";
|
|
var flagNameAttrOptionValue = "{{ model.FLAG_NAME_ATTR_OPTION_VALUE }}";
|
|
var flagNamePlural = "{{ model.FLAG_NAME_PLURAL }}";
|
|
var flagNavAdminHome = "{{ model.FLAG_NAV_ADMIN_HOME }}";
|
|
var flagNavContact = "{{ model.FLAG_NAV_CONTACT }}";
|
|
var flagNavHome = "{{ model.FLAG_NAV_HOME }}";
|
|
var flagNavDogAssessments = "{{ model.FLAG_NAV_DOG_ASSESSMENTS }}";
|
|
var flagNavDogButtonIcons = "{{ model.FLAG_NAV_DOG_BUTTON_ICONS }}";
|
|
var flagNavDogButtonShapes = "{{ model.FLAG_NAV_DOG_BUTTON_SHAPES }}";
|
|
var flagNavDogColour = "{{ model.FLAG_NAV_DOG_COLOUR }}";
|
|
var flagNavDogCommandButtonLinks = "{{ model.FLAG_NAV_DOG_COMMAND_BUTTON_LINKS }}";
|
|
var flagNavDogCommandCategories = "{{ model.FLAG_NAV_DOG_COMMAND_CATEGORIES }}";
|
|
var flagNavDogCommands = "{{ model.FLAG_NAV_DOG_COMMANDS }}";
|
|
var flagNavDogDogs = "{{ model.FLAG_NAV_DOG_DOGS }}";
|
|
var flagNavDogDogCommandLinks = "{{ model.FLAG_NAV_DOG_DOG_COMMAND_LINKS }}";
|
|
var flagNavDogHome = "{{ model.FLAG_NAV_DOG_HOME }}";
|
|
var flagNavDogLocations = "{{ model.FLAG_NAV_DOG_LOCATIONS }}";
|
|
var flagNavUserAccount = "{{ model.FLAG_NAV_USER_ACCOUNT }}";
|
|
var flagNavUserAdmin = "{{ model.FLAG_NAV_USER_ADMIN }}";
|
|
var flagNavUserLogin = "{{ model.FLAG_NAV_USER_LOGIN }}";
|
|
var flagNavUserLogout = "{{ model.FLAG_NAV_USER_LOGOUT }}";
|
|
var flagNotes = "{{ model.FLAG_NOTES }}";
|
|
var flagObedienceLevel = "{{ model.FLAG_OBEDIENCE_LEVEL }}";
|
|
var flagOverlay = "{{ model.FLAG_OVERLAY }}";
|
|
var flagOverlayClose = "{{ model.FLAG_OVERLAY_CLOSE }}";
|
|
var flagPageBody = "{{ model.FLAG_PAGE_BODY }}";
|
|
var flagPhoneNumber = "{{ model.FLAG_PHONE_NUMBER }}";
|
|
var flagPostcode = "{{ model.FLAG_POSTCODE }}";
|
|
var flagQuantity = "{{ model.FLAG_QUANTITY }}";
|
|
var flagResponseQualityMetric = "{{ model.FLAG_RESPONSE_QUALITY_METRIC }}";
|
|
var flagRightHandSide = "{{ model.FLAG_RIGHT_HAND_SIDE }}";
|
|
var flagRow = "{{ model.FLAG_ROW }}";
|
|
var flagRowNew = "{{ model.FLAG_ROW_NEW }}";
|
|
var flagRows = "{{ model.FLAG_ROWS }}";
|
|
var flagSave = "{{ model.FLAG_SAVE }}";
|
|
var flagScrollable = "{{ model.FLAG_SCROLLABLE }}";
|
|
var flagSearch = "{{ model.FLAG_SEARCH }}";
|
|
var flagSlider = "{{ model.FLAG_SLIDER }}";
|
|
var flagStatus = "{{ model.FLAG_STATUS }}";
|
|
var flagSubmit = "{{ model.FLAG_SUBMIT }}";
|
|
var flagSubmitted = "{{ model.FLAG_SUBMITTED }}";
|
|
var flagSuccess = "{{ model.FLAG_SUCCESS }}";
|
|
var flagTableMain = "{{ model.FLAG_TABLE_MAIN }}";
|
|
var flagTemporaryElement = "{{ model.FLAG_TEMPORARY_ELEMENT }}";
|
|
var flagUser = "{{ model.FLAG_USER }}";
|
|
var flagWeather = "{{ model.FLAG_WEATHER }}";
|
|
var flagWebsite = "{{ model.FLAG_WEBSITE }}";
|
|
var hashGetALTCHAChallenge = "{{ model.HASH_ALTCHA_CREATE_CHALLENGE }}";
|
|
var hashPageAccessibilityReport = "{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}";
|
|
var hashPageAccessibilityStatement = "{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}";
|
|
var hashPageAdminHome = "{{ model.HASH_PAGE_ADMIN_HOME }}";
|
|
var hashPageContact = "{{ model.HASH_PAGE_CONTACT }}";
|
|
var hashPageContactSuccess = "{{ model.HASH_PAGE_CONTACT_SUCCESS }}";
|
|
var hashPageDataRetentionSchedule = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}";
|
|
var hashPageDogAssessment = "{{ model.HASH_PAGE_DOG_ASSESSMENT }}";
|
|
var hashPageDogAssessments = "{{ model.HASH_PAGE_DOG_ASSESSMENTS }}";
|
|
var hashPageDogButtonIcons = "{{ model.HASH_PAGE_DOG_BUTTON_ICONS }}";
|
|
var hashPageDogButtonShapes = "{{ model.HASH_PAGE_DOG_BUTTON_SHAPES }}";
|
|
var hashPageDogColours = "{{ model.HASH_PAGE_DOG_COLOURS }}";
|
|
var hashPageDogCommandButtonLinks = "{{ model.HASH_PAGE_DOG_COMMAND_BUTTON_LINKS }}";
|
|
var hashPageDogCommandCategories = "{{ model.HASH_PAGE_DOG_COMMAND_CATEGORIES }}";
|
|
var hashPageDogCommands = "{{ model.HASH_PAGE_DOG_COMMANDS }}";
|
|
var hashPageDogDogCommandLinks = "{{ model.HASH_PAGE_DOG_DOG_COMMAND_LINKS }}";
|
|
var hashPageDogDogs = "{{ model.HASH_PAGE_DOG_DOGS }}";
|
|
var hashPageDogHome = "{{ model.HASH_PAGE_DOG_HOME }}";
|
|
var hashPageDogLocations = "{{ model.HASH_PAGE_DOG_LOCATIONS }}";
|
|
var hashPageErrorNoPermission = "{{ model.HASH_PAGE_ERROR_NO_PERMISSION }}";
|
|
var hashPageHome = "{{ model.HASH_PAGE_HOME }}";
|
|
var hashPageLicense = "{{ model.HASH_PAGE_LICENSE }}";
|
|
var hashPagePrivacyPolicy = "{{ model.HASH_PAGE_PRIVACY_POLICY }}";
|
|
var hashPageUserAccount = "{{ model.HASH_PAGE_USER_ACCOUNT }}";
|
|
var hashPageUserAdmin = "{{ model.HASH_PAGE_USER_ADMIN }}";
|
|
var hashPageUserLogin = "{{ model.HASH_PAGE_USER_LOGIN }}";
|
|
var hashPageUserLogout = "{{ model.HASH_PAGE_USER_LOGOUT }}";
|
|
var hashSaveDogAssessment = "{{ model.HASH_SAVE_DOG_ASSESSMENT }}";
|
|
var hashSaveDogButtonIcon = "{{ model.HASH_SAVE_DOG_BUTTON_ICON }}";
|
|
var hashSaveDogButtonShape = "{{ model.HASH_SAVE_DOG_BUTTON_SHAPE }}";
|
|
var hashSaveDogColour = "{{ model.HASH_SAVE_DOG_COLOUR }}";
|
|
var hashSaveDogCommand = "{{ model.HASH_SAVE_DOG_COMMAND }}";
|
|
var hashSaveDogCommandButtonLink = "{{ model.HASH_SAVE_DOG_COMMAND_BUTTON_LINK }}";
|
|
var hashSaveDogCommandCategory = "{{ model.HASH_SAVE_DOG_COMMAND_CATEGORY }}";
|
|
var hashSaveDogDogCommandLink = "{{ model.HASH_SAVE_DOG_DOG_COMMAND_LINK }}";
|
|
var hashSaveDogLocation = "{{ model.HASH_SAVE_DOG_LOCATION }}";
|
|
var idButtonApplyFilters = "#{{ model.ID_BUTTON_APPLY_FILTERS }}";
|
|
var idButtonHamburger = "#{{ model.ID_BUTTON_HAMBURGER }}";
|
|
var idButtonCancel = "#{{ model.ID_BUTTON_CANCEL }}";
|
|
var idButtonSave = "#{{ model.ID_BUTTON_SAVE }}";
|
|
var idContainerTemplateElements = "#{{ model.ID_CONTAINER_TEMPLATE_ELEMENTS }}";
|
|
var idCSRFToken = "#{{ model.ID_CSRF_TOKEN }}";
|
|
var idFormFilters = "#{{ model.ID_FORM_FILTERS }}";
|
|
var idLabelError = "#{{ model.ID_LABEL_ERROR }}";
|
|
var idOverlayConfirm = "#{{ model.ID_OVERLAY_CONFIRM }}";
|
|
var idOverlayError = "#{{ model.ID_OVERLAY_ERROR }}";
|
|
var idOverlayHamburger = "#{{ model.ID_OVERLAY_HAMBURGER }}";
|
|
var idPageBody = "#{{ model.ID_PAGE_BODY }}";
|
|
var idTableMain = "#{{ model.ID_TABLE_MAIN }}";
|
|
var idTextareaConfirm = "#{{ model.ID_TEXTAREA_CONFIRM }}";
|
|
var isUserLoggedIn = "{{ model.output_bool(model.IS_USER_LOGGED_IN) }}";
|
|
var _pathHost = "{{ model.get_url_host() }}";
|
|
var _rowBlank = null;
|
|
var titlePageCurrent = "{{ model.title }}";
|
|
var _verbose = ("{{ model.app.app_config.DEBUG }}" == "True");
|
|
</script>
|
|
|
|
|
|
<link rel="preload" as="style" href="{{ url_for('static', filename='dist/css/main.bundle.css') }}" onload="this.onload=null;this.rel='stylesheet'">
|
|
<noscript><link rel="stylesheet" href="{{ url_for('static', filename='dist/css/main.bundle.css') }}"></noscript>
|
|
|
|
{% block page_head %}{% endblock %}
|
|
</head>
|
|
<body data-page="{{ model.hash_page_current }}">
|
|
<!-- Header -->
|
|
<header>
|
|
<div class="container">
|
|
<nav class="navbar">
|
|
<div class="{{ model.FLAG_LOGO }}" href="{{ model.HASH_PAGE_HOME }}">{{ model.NAME_COMPANY_SHORT }}</div>
|
|
<div class="nav-links">
|
|
{% block page_nav_links %}{% endblock %}
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Body -->
|
|
<div id="{{ model.ID_PAGE_BODY }}">
|
|
{% block page_body %}{% endblock %}
|
|
</div>
|
|
|
|
<!-- Footer -->
|
|
<footer class="footer">
|
|
<div class="{{ model.FLAG_CONTAINER }}">
|
|
<div class="footer-content">
|
|
<div class="footer-section">
|
|
<h3>{{ model.NAME_COMPANY }}</h3>
|
|
<p>Company Number: {{ model.COMPANY_NUMBER }}</p>
|
|
<p>Registered in England and Wales</p>
|
|
<p>Registered Office: {{ model.COMPANY_ADDRESS_SHORT }}</p>
|
|
</div>
|
|
|
|
<div class="footer-section">
|
|
<h3>Legal</h3>
|
|
<ul>
|
|
<li><a href="{{ model.HASH_PAGE_PRIVACY_POLICY }}">Privacy Policy</a></li>
|
|
<li><a href="{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}">Accessibility Statement</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="footer-content">
|
|
<div class="footer-section contact">
|
|
<h3>Contact</h3>
|
|
<!--
|
|
<ul>
|
|
<li><a href="mailto:{{ model.get_mail_contact_public() }}">Email: {{ model.get_mail_contact_public() }}</a></li>
|
|
<li><a href="{{ model.URL_DISCORD }}">Discord: {{ model.USERNAME_DISCORD }}</a></li>
|
|
< !-- <li><a href="{{ model.URL_FACEBOOK }}">Facebook: {{ model.USERNAME_FACEBOOK }}</a></li> -- >
|
|
<li><a href="{{ model.URL_GITHUB }}">GitHub: {{ model.USERNAME_GITHUB }}</a></li>
|
|
<li><a href="{{ model.URL_INSTAGRAM }}">Instagram: {{ model.USERNAME_INSTAGRAM }}</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="footer-section contact">
|
|
<h3 style="color: #1f2937;">Contact</h3>
|
|
<ul>
|
|
< !-- <li>Phone</li> -- >
|
|
< !-- <li><a href="{{ model.URL_LINKEDIN }}">LinkedIn: {{ model.USERNAME_LINKEDIN }}</a></li> -- >
|
|
<li><a href="{{ model.URL_REDDIT }}">Reddit: {{ model.USERNAME_REDDIT }}</a></li>
|
|
<li><a href="{{ model.URL_TIKTOK }}">TikTok: {{ model.USERNAME_TIKTOK }}</a></li>
|
|
<li><a href="{{ model.URL_TWITTER }}">Twitter: {{ model.USERNAME_TWITTER }}</a></li>
|
|
</ul>
|
|
-->
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="mailto:{{ model.get_mail_contact_public() }}">Email: {{ model.get_mail_contact_public() }}</a></div>
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_DISCORD }}">Discord: {{ model.USERNAME_DISCORD }}</a></div>
|
|
<!-- <div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_FACEBOOK }}">Facebook: {{ model.USERNAME_FACEBOOK }}</a></div> -->
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_GITHUB }}">GitHub: {{ model.USERNAME_GITHUB }}</a></div>
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_INSTAGRAM }}">Instagram: {{ model.USERNAME_INSTAGRAM }}</a></div>
|
|
<!-- <div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">Phone</div> -->
|
|
<!-- <div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_LINKEDIN }}">LinkedIn: {{ model.USERNAME_LINKEDIN }}</a></div> -->
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_REDDIT }}">Reddit: {{ model.USERNAME_REDDIT }}</a></div>
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_TIKTOK }}">TikTok: {{ model.USERNAME_TIKTOK }}</a></div>
|
|
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}"><a href="{{ model.URL_TWITTER }}">Twitter: {{ model.USERNAME_TWITTER }}</a></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer-bottom">
|
|
<p>© {{ current_year }} {{ model.NAME_COMPANY }}. <a href="{{ model.HASH_PAGE_LICENSE }}" alt="License" aria-label="License">All rights reserved.</a></p>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="{{ url_for('static', filename='dist/js/main.bundle.js') }}"></script>
|
|
</body>
|
|
</html>
|