ATS Template - Multi-lingual functionality:
- Include in the CompanyDetails entity a field called ‘multilingual’ (booelan)
- Create new entity called ‘Languages’ containing, language (English, French, German, Spanish) , flag icon file, and abbreviation
- Selection of flag switches language of text
- Page count
- Add field in the Products entity for pageCount and pageCountAdmin
- When a page is loaded add to the pageCount (and if an Admin user add to pageCountAdmin only
|
|
|
|
Complete
|
| |
|
|
|
Product List - Button to make Active/Inactive from the Index
- Buttons to Change the Ranking and Renumber
|
|
|
|
Complete
|
| |
|
|
|
Photos - Header Link should go to the Show By Location if sole location
|
|
|
|
Complete
|
| |
|
|
|
CMS Copy - Headlings and Titles in CMS_Copy should be be hidden unless Ranking ==1
- Default Ranking =1 for first one and 2 thereafter
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Photo - Default the rotate to zero
- When editing, if it was a Product it reverts to Static upon opening
- If photo.photo is blank, it should be ignored in the controller (displaying product.html.twig)
|
|
|
-
|
Complete
|
| |
|
|
|
Useful files - E-mail functionality doesn't work
- Edit issue
|
|
|
-
|
Complete
|
| |
|
|
|
Users - Edit User fails because
- Password is not visible
- If the user has 2 or more than 3 names in the fullName
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Need to make email and Default password mandatory, if using the contact form.
|
|
|
-
|
Complete
|
| |
|
|
|
- Add useful contacts – copy from Stephen-nurse or Immigration
- Include a map that shows the location of each restaurant/hotel etc
- Restaurant entity to include opening times (for on and off peak season)
- Menu entity
- Add all to the copy batch file
|
|
|
|
Complete
|
| |
|
|
|
HomePage - Allow multi-selections in the Contact Us form
- Add Product-include in Contact form field
|
|
|
|
Complete
|
| |
|
|
|
Header & Footer - Product list should be sorted by Ranking number
|
|
|
-
|
Complete
|
| |
|
|
|
Multi-lingual functionality: - Include in the CompanyDetails entity a field called ‘multilingual’ (booelan)
- Create new entity called ‘Languages’ containing, language (English, French, German, Spanish) , flag icon file, and abbreviation
- Selection of flag switches language of text
Page count - Add field in the Products entity for pageCount and pageCountAdmin
- When a page is loaded add to the pageCount (and if an Admin user add to pageCountAdmin only)
|
|
|
|
Complete
|
| |
|
|
|
SQL download - Learn how to import into local
|
|
|
|
Complete
|
| |
|
|
|
Translations - Create import/export buttons for the translations
- Replace records with same English
|
|
|
-
|
Complete
|
| |
|
|
|
OfficeAddress - Why doesn't it occupy full page, especially on mobile?
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Boolean checkbox can't not be checked
|
|
|
|
Complete
|
| |
|
|
|
ATS Company Details Show - Fix slider
- hide facebook months and registration email if deselected
|
|
|
-
|
Complete
|
| |
|
|
|
Email server - Emails failing in many projects
|
|
|
-
|
Complete
|
| |
|
|
|
Project specific roles maintain in settings - Create an entity to define the roles available in the project
- Also in the User form, be able to control which fields are active as a function of the role
|
|
|
-
|
Complete
|
| |
|
|
|
Business Contacts - Index: Need to sort by the ranking of the Business Types
- In Business Contact form
- Java-script to hide the First/Last Name if the BusinessOrPerson= “Business”. if Person selected, show both
- Add GPS location button that picks current location. Activate from the view too.
- When deleting a business contact, cascade to the Referrals log
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Index view - The i icon for Directions doesn't slice or raw
- Weather - Fails with GMT as time zone
- Map link field - increase height
|
|
|
-
|
Complete
|
| |
|
|
|
Backdoor Doesn't work: Password Encoder error
|
|
|
|
Complete
|
| |
|
|
|
Products - Deleting a Product when the CMS is populated drives an error
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Boolean flag to show/hide Contact Details in the Headers
- Other flags to hide/show other functionality from the Dashboard
- Weather, Facebook groups, Business contacts, Instructions, Competitors.
|
|
|
|
Complete
|
| |
|
|
|
CMS Copy - When switching between Static Page and Product, deleting the field for Static page/Product respectively
- New CMS: Product list to be ordered by ranking
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Registration - Settings. Have a flag for enable registrations
- Email templates:
- Registration - Thank you registering and has a verification link to confirm
- Referral
- Display QR code on home page
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Facebook Groups and Products
|
|
|
|
Complete
|
| |
|
|
|
Services.yaml - The only directory that doesn't work is the favicons_directory and mapicons_directory
- However it works in the CompanyDetailsController, it only fails to work in twig (company-details-index, QR-homepage, base.html)
- In each of those twigs, they don't accept other directories from the service.yaml and favicon_directory works in other twigs
|
|
|
|
Complete
|
| |
|
|
|
Create a Help entity - Ability to show video of implementing each function
|
|
|
|
Complete
|
| |
|
|
|
CSS - Should these files be copied from the ATS Template?
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Photos - Movie files in Interests/Products or Home page don't seem to size correctly
|
|
|
-
|
Complete
|
| |
|
|
|
Photo Locations - New Photo Location creates an error
|
|
|
|
Complete
|
| |
|
|
|
Photos - In the CountService, for the CountPrivateLocations, don't just count those Private locations, but those where the user has access to
|
|
|
|
Complete
|
| |
|
|
|
Business contacts - The File and Photo fields show when not empty. Copy JS found in Company Details Edit form
|
|
|
-
|
Complete
|
| |
|
|
|
Facebook Reviews - List of users : FindByRole function should have up to 3 roles
- Include a setting for limit review history (eg 3 months), and show/hide the reviews according to that limit
- Import Reviews needs to find the User and the Facebook Group from the entity
|
|
|
-
|
Complete
|
| |
|
|
|
Home page (photos only) - Looks terrible on Ipad Pro
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Logout time - How do I control the time til the systems logs you out?
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Copy - Can't save Edits
- Increase height of the content box
- Define different page layout formats and have the CMS copy be applied to that format
|
|
|
|
Complete
|
| |
|
|
|
Weather - Index - Link to the live google weather page doesn't find the location specfied
- Create a daily chron job
|
|
|
-
|
Complete
|
| |
|
|
|
Languages - Add a link on the Active/Inactive to turn off/off instantly
- Add a ranking number to control the order of the flags in the dropdown
- Import feature to upload all the countries. Delete all
|
|
|
-
|
Complete
|
| |
|
|
|
User - Work out a way to share some common features of the User entity but allowing for adaptions for each different project
- ChatGPT: I am building about 10 different websites that all work on Symfony/PHP. They will all share the same foundations or basic architecture (basic USER handling, a CMS, and other standard features) and any changes in one are updated across all by copying the Entity, Controller, Form, Repository and Templates. The each site will have some specific code unique to each site. The problem I have is that the USER entity needs to be slightly different for each site, so I can't copy those across. How can I maintain consistency and the uniqueness. My thought was to split the user entity in two and embed the second (different) USER2 contents within the USER form. Any suggestions
|
|
|
-
|
Complete
|
| |
|
|
|
User - Add photo, which should be part of personal details
- Improve views
|
|
|
-
|
Complete
|
| |
|
|
|
Mobile view needs to be improved - Dashboard
- Company Details
- Change from a table to a single record to display across whole page (Show)
- Show function doesn't work as is
- CMS_Copy - restrict content
- CMS_Photo - restrict content
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Include Contact Details or not in the headers
|
|
|
-
|
Complete
|
| |
|
|
|
Business Contacts - Counter fix. Don't display Business Types if Counter =0
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Instructions - Import Media file
- Display media file
- And launch
|
|
|
|
Complete
|
| |
|
|
|
Maps To calculate the optimal zoom level for a Google Map that just fits all of your venues without scrolling, you need to determine the bounding box that encompasses all the venue locations. Based on the bounding box, you can compute the zoom level that ensures all the venues are visible. Here’s how you can approach this: Steps to Calculate Optimal Zoom LevelFind the bounding box: For all your venues, compute the min and max latitudes and min and max longitudes: - minLat = minimum latitude of all venues
- maxLat = maximum latitude of all venues
- minLng = minimum longitude of all venues
- maxLng = maximum longitude of all venues
Calculate the geographical range: - The latitude range is:
latRange = maxLat - minLat - The longitude range is:
lngRange = maxLng - minLng
Calculate the center of the map: The center of the map is simply the average of the latitudes and longitudes: - centerLat = (maxLat + minLat) / 2
- centerLng = (maxLng + minLng) / 2
Calculate the diagonal distance: The diagonal distance between the top-left and bottom-right corners of the bounding box is critical for determining the zoom level. You can use the Haversine formula or a simplified approximation to compute the distance. The Haversine formula is: - a = sin²(Δφ/2) + cos(φ1) ⋅ cos(φ2) ⋅ sin²(Δλ/2) c = 2 ⋅ atan2(√a, √(1−a)) d = R ⋅ c
Where: - Δφ = difference in latitude (in radians)
- Δλ = difference in longitude (in radians)
- φ1, φ2 = latitude values in radians
- R = radius of the Earth (mean radius = 6,371 km)
- d = the distance between the two points (diagonal distance)
Estimate zoom level: Based on the diagonal distance, Google Maps provides a rough way to estimate the zoom level, which is typically from 0 (world) to 21 (street level). A common approach is to map the diagonal distance to zoom levels using a logarithmic scale, but this depends on the map's current bounds and the projection used. Generally, a simplified formula is: - zoomLevel = maxZoom - log(d / maxDistance) * scaleFactor
- maxZoom = the maximum zoom level allowed (usually 21)
- maxDistance = the maximum diagonal distance you want to show (e.g., distance across your entire map's viewable range)
- scaleFactor adjusts for the desired map fit
Using Google Maps API to Simplify:You can simplify this calculation by using the Google Maps API, which has a method to fit markers within a viewport using fitBounds(): // Assuming you have an array of venue locations in {lat, lng} format: const locations = [ {lat: 40.748817, lng: -73.985428}, {lat: 40.748217, lng: -73.985128}, // Add other venues here ]; // Create a bounds object const bounds = new google.maps.LatLngBounds(); // Extend bounds to include each venue locations.forEach(location => { bounds.extend(new google.maps.LatLng(location.lat, location.lng)); }); // Create a map with the bounds set const map = new google.maps.Map(document.getElementById("map"), { center: bounds.getCenter(), // Center map at the average of the venues zoom: 15 // You can let Google automatically choose the zoom or set a default }); // Fit map to the bounds map.fitBounds(bounds); This method will automatically adjust the zoom level and center based on your venues, ensuring all the locations are visible without scrolling. You don't need to manually calculate the zoom level if you're using this approach.
|
|
|
|
Complete
|
| |
|
|
|
QR page - Look and feel on full and small screen
|
|
|
-
|
Complete
|
| |
|
|
|
User - Reset password doesn't work
|
|
|
-
|
Complete
|
| |
|
|
|
Product list (header) - If there is only one product in the ProductList, then it should become the Header
- Same for SubProducts
HomePage Contact Form - Still shows the DateTime sent.
- Phone number should be optional
Workflow
|
|
|
|
Complete
|
| |
|
|
|
Website contacts - Ordering of products according to ranking
- Similarly in email
|
|
|
|
Complete
|
| |
|
|
|
Interests/Products - In the hyperlink in the Products/Interests entity - in the index correct for https or www to launch even if lazily entered. Same for business contacts
|
|
|
|
Complete
|
| |
|
|
|
Map Icons - Button to delete icons and hide/show the form field as appropriate
|
|
|
-
|
Complete
|
| |
|
|
|
Business contacts - New contact: Sort categories alphabetically
- FIle and photo field show in edit mode when not empty. Copy JS in Edit for CompanyDetails
- Index: Desktop class doesn’t work
- Count contacts where maplocation is not empty service
Git fails - Copy to Whistles and Bells
|
|
|
|
Complete
|
| |
|
|
|
Website contacts - How do I see what Product they are interested in?
|
|
|
-
|
Complete
|
| |
|
|
|
Photos - E-mail fails
- Handling of favourites
|
|
|
|
Complete
|
| |
|
|
|
Map Icons - New/Edit: Selection of icons to be sorted alphabetically
|
|
|
-
|
Complete
|
| |
|
|
|
Company Details - Doesn't save the Driving Instructions. Can't save edits
- Wrap google map link
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
HomePage (Photos) and Interests Page - If the hyperlink is blank it should do anything when clicked.
|
|
|
-
|
Complete
|
| |
|
|
|
HomePage - All photos - The photos don't have the hyerlink or the title pop-up working
|
|
|
|
Complete
|
| |
|
|
|
Server clean-up - Button to clean up the attachments for all directories
- Button to import the mapicon files
|
|
|
-
|
Complete
|
| |
|
|
|
Photos - Individual photo doesn't resize well when viewed by a mobile
|
|
|
|
Complete
|
| |
|
|
|
User - Default language - order by ranking
|
|
|
|
Complete
|
| |
|
|
|
Products - Notes field should be better positioned (on the right, col-8) and be editable with CKEditor.
- As you hover over the Links for the Products in the menu it should show you the Notes
|
|
|
|
Complete
|
| |
|
|
|
Bugs in live systems vs ATSTemplate - MapIcon, Business Types and Business Contacts imports don't work on stephen-nurse.com
- Winter Cash Cup: Upgrade from ATS didn't work
|
|
|
-
|
Complete
|
| |
|
|
|
Users - VCF export not built
- Show each user's log count, counting the number of times the number has logged in.
- Hover to show the date/time of the last [5] view
|
|
|
-
|
Complete
|
| |
|
|
|
Edit the bat file to add the new project specific inflation
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Header - Useful links show/hide doesn't seem to be in all projects
|
|
|
|
Complete
|
| |
|
|
|
CMS Photo - When editing, if the file is loaded, don't show the input box
- Make the unique identifier just three letters
- Increase the size of the photo in the Edit field much larger
- Make the Hyperlink adaptable to include rhe https// and www
- Improve the title on the Edit page
|
|
|
-
|
Complete
|
| |
|
|
|
Have in the Settings a flag for if site is still in testing mode. - If in Testing mode, then:
- Login screen contains the test login buttons
|
|
|
|
Complete
|
| |
|
|
|
Photo Gallery - Email button doesn't work
- Favoured/unfavoured button don't work
|
|
|
|
Complete
|
| |
|
|
|
Multi-lingual - Make the titles in Indexes language-specific
|
|
|
-
|
Complete
|
| |
|
|
|
Doctrine update - Entities not working - Instructions
- Weather
- Facebook Groups
- Competitor
- Competitor Service
|
|
|
-
|
Complete
|
| |
|
|
|
Workflow from Website Contact to User - The objective here is to automate the process of converting a Website Inquiry into a User
- Form received from client (in Website contacts).
- To do
- Allow multiple entries on the checklist
- Add field in Products for “Include in Contact Form” and references in the Contact Us form
- Add input in CompanyDetails as to whether to receive an alert with a new Inquiry
- And ‘Email’ text in Product form
- Office_Staff decides to accept a Website Inquiry or not (perhaps automate this).
- Converting to User creates a New User with the credentials provided in the Website Inquiry.
- Sends a generic email
-
|
|
|
|
Complete
|
| |
|
|
|
ROLES User - Photo field showing when populated.
|
|
|
|
Complete
|
| |
|
|
|
Clear all attachments - Button to clear public directory - assume that the directories will be made as files are saved for the first time?
|
|
|
|
Complete
|
| |
|
|
|
User Import - No longer works as the SetRoles line needs to reference the Roles entity
|
|
|
-
|
Complete
|
| |
|
|
|
Multi-currency flags don't work
|
|
|
-
|
Complete
|
| |
|
|
|
Photo gallery - Don't open the photo-locations page unless an Admin and there are at least [15] different locations
- Instead show the name (and date and # photos) of each location in the dropdown. Listed either alphabetically or by date (make that a control in the Settings)
- Then have the private groups listed, in red
|
|
|
|
Complete
|
| |
|
|
|
Instructions - Control in Company Details to include a link to instructions functionality.
- Show in dashboard if selected.
- Include in Header display selections
Contacts details (Company Details settings) - Flag to include business card or not
- Business card to include only the information permissioned
- Perhaps include email as
|
|
|
-
|
Complete
|
| |
|
|
|
Check backdoor functionality - Doesn't work in ComfyCats (live)
|
|
|
-
|
Complete
|
| |
|
|
|
Header - Photo header appears if there are no photos stored
|
|
|
|
Complete
|
| |
|
|
|
Project specific landing page post login for different access rights
|
|
|
-
|
Complete
|
| |
|
|
|
Website contacts - Add a delete all button
- Include the phoneChceker into the index view
|
|
|
|
Complete
|
| |
|
|
|
Header - Photo Gallery and Photos appear twice in the Header if logged in as ADMIN
|
|
|
|
Complete
|
| |
|
|
|
New functionality: Import from Outlook - I am building a system to manage client bookings and although i would prefer that clients book online directly, some do email me. I would like to build the ability to import the content, subject line and sender and date from my email system (eg Outlook) email into a record in the database
- My plans is that emails that need to be brought into the booking system would be moved to a specific directory (eg “Upload to system”) and these are the emails that the booking system would see and extract the data from. The booking system would need access to the email
- I am using Symfony/PHP - how can i build this?
|
|
|
-
|
Complete
|
| |
|
|
|
CMS - On each product.html page include a link for admin to the product. To change the name of the product
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
|
Complete
|
| |
|
|
|
Photos - If the photo file is missing, you can't delete the record
|
|
|
|
Complete
|
| |
|
|
|
CMS Copy and Photo overlap - Increase size of text box
- Decide to split the screen as a function of the text ranking
- Check what happens to Accordian in CMS Format Styles?
- If non GB text is blank, return the GB text prefixed by (Awaiting translation…)
|
|
|
|
Complete
|
| |
|
|
|
Multi-Lingual (Languages) - Flag import fails. Possibly because file already exists?
|
|
|
|
Complete
|
| |
|
|
|
|
|
|
|
-
|
Complete
|
| |
|
|
|
Contact Us - Don't show the Interested in… and list of Products if there is only 1 product on offer
|
|
|
-
|
Complete
|
| |
|
|
|
Login Directions - Functionality doesn't seem to work
|
|
|
-
|
Complete
|
| |
|
|
|
Products Index - Main/Sub label should follow the label in the CompanyDetails
|
|
|
-
|
Complete
|
| |
|
|
|
Business Contacts - Use the White-space:No wrap and in-line style settings to make sure the names line up and the map icon appears on the same line as address
|
|
|
|
Complete
|
| |
|
|
|
CMS - Home Page. if the flag for Photos only is not checked and there is no CMS page Static-Home, then show an error message
|
|
|
|
Complete
|
| |
|
|
|
User registration - More elegant handling of a duplicate user
|
|
|
|
Complete
|
| |
|
|
|
WhatsApp number - Develop a service that checks if a number is a valid WhatsApp number or not
|
|
|
-
|
Complete
|
| |
|
|
|
User - Create a field in CompanyDetails that permits or not “Auto login” from a given unique URL
- Each User gets a unique URL, which will log them into the site with their name
- Construct a controller that does that login for them
|
|
|
-
|
Complete
|
| |
|
|
|
Registration - Email fails
- Need to test the full process
|
|
|
-
|
Complete
|
| |
|
|
|
Users - Link the list of fields viewable to the CompanyDetails settings
- Home Address
- Business Address
- Personal Details
- Job Details
|
|
|
-
|
Complete
|
| |
|
|
|
CMS Photos - It is possible to select Video for a JPG
- When switching between Product and Static Page it keeps the Static Page name and therefore impacts the Save
|
|
|
-
|
Complete
|
| |
|
|
|
Business contacts - Test that the file attachment and photo get deleted if you delete a contact
|
|
|
-
|
Complete
|
| |
|
|
|
Mobile view - needs work. - CompanyDetails Show/Edit
- Products
- CMS- Edit/New is good
- SubPage
- CMSPhoto- index only
- UsefulLinks - ok
- Instructions -New
- Weather -ok
- Business contacts - New and Edit
- Map Icons - edit
- Facebook Groups - Index and Edit
- Competitors - New
|
|
|
-
|
Complete
|
| |
|
|
|
Languages - CompanyDetails page fails if no languages in database or no English
- Doesn't seem to work in TennisClub.
|
|
|
|
Complete
|
| |
|
|
|
Products - Re-numbering/re-ordering button
|
|
|
-
|
Complete
|
| |
|
|
|
User log - Build out a more comprehensive user tracking log. Not just logins . Google analytics
|
|
|
-
|
Complete
|
| |
|
|
|
Users - I introduced sorting for all the columns (ie post pagination functionality) for the Users index. Curiously, some work but not all.
Business contacts - Tried to insert the PhoneAnalyzer into Business Contacts, but it fails
|
|
|
-
|
Complete
|
| |
|
|
|
User Indexes - Dynamic control of sorting in Index
|
|
|
|
Complete
|
| |
|
|
|
Company Details - Button to add Longitude and Latitude into the Company Details record
- Can't save changes (since adding Photos)
|
|
|
-
|
Complete
|
| |
|
|
|
Helpful files - View of Useful URLs on the mobile
- Email fails with one file
- Email fails when more than one file (different error)
|
|
|
-
|
Complete
|
| |
|
|
|