To Do List: All (Complete)



Priority Project #
1 Payroll #: 3
2 ATS Template #: 3
2.08

Company Details

  • Boolean checkbox can't not be checked
Complete
2.03

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
2.04

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
2.18
  • 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
    • Linked to restaurants
  • Add all to the copy batch file
- Complete
2.07

Translations

  • Create import/export buttons for the translations
  • Replace records with same English
Complete
2.26

Languages

  • CompanyDetails page fails if no languages in database or no English
  • Doesn't seem to work in TennisClub.
- Complete
2.12

Create a Help entity

  • Ability to show video of implementing each function
- Complete
2.10

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
2.13

CSS 

  • Should these files be copied from the ATS Template?
Complete
2.11

Backdoor

Doesn't work: Password Encoder error

Complete
2.14

OfficeAddress

  • Why doesn't it occupy full page, especially on mobile?
Complete
2.15

Instructions

  • Import Media file
  • Display media file
  • And launch
- Complete
2.16

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
2.17

Company Details

  • Include Contact Details or not in the headers
Complete
2.99

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
2.27

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
2.71

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
2.19

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
2.21

Helpful files 

  • View of Useful URLs on the mobile
  • Email fails with one file
  • Email fails when more than one file (different error)
Complete
2.22

Company Details 

  • Button to add Longitude and Latitude into the Company Details record
  • Can't save changes (since adding Photos)
Complete
2.06

Product List

  • Button to make Active/Inactive from the Index
  • Buttons to Change the Ranking and Renumber
Complete
2.23

Header & Footer

  • Product list should be sorted by Ranking number 
Complete
2.09

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
2.20

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
2.39

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
2.24

Products

  • Deleting a Product when the CMS is populated drives an error
- Complete
2.02

Photos

  • Header Link should go to the Show By Location if sole location
Complete
2.29

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
2.25

Weather

  • Index - Link to the live google weather page doesn't find the location specfied
  • Create a daily chron job
Complete
2.40

Useful files

  • E-mail functionality doesn't work
  • Edit issue
- Complete
2.01

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
2.28

Business Contacts

  • Counter fix.  Don't display Business Types if Counter =0
- Complete
2.05

Users

  • Edit User fails because
    • Password is not visible
    • If the user has 2 or more than 3 names in the fullName 
Complete
2.34

Logout time

  • How do I control the time til the systems logs you out?
Complete
2.38

Home page (photos only)

  • Looks terrible on Ipad Pro 
    • Looks ok on iPad Mini
- Complete
2.30

Referrals log

  • Date Time function
- Complete
2.35

QR page

  • Look and feel on full and small screen
- Complete
2.33

Company Details

  • Doesn't save the Driving Instructions. Can't save edits
  • Wrap google map link
Complete
2.31

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
2.32

User Log

  • Edit function error
- Complete
2.37

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
2.43

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
2.36

HomePage (Photos) and Interests Page

  • If the hyperlink is blank it should do anything when clicked.
- Complete
2.44

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
2.41

Photos

  • E-mail fails
  • Handling of favourites

 

- Complete
2.42

Registration

  • Email fails
  • Need to test the full process
- Complete
2.45

CMS Photos

  • Movie files in Interests/Products or Home page don't seem to size correctly
- Complete
2.46

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
2.47

Business contacts

  • Test that the file attachment and photo get deleted if you delete a contact
- Complete
2.48

Map Icons

  • New/Edit:  Selection of icons to be sorted alphabetically
Complete
2.49

Business contacts

  • The File and Photo fields show when not empty.  Copy JS found in Company Details Edit form
- Complete
2.50

Map Icons

  • Button to delete icons and hide/show the form field as appropriate
Complete
2.51

HomePage (Photos only)

  • Closer together
Complete
2.52

Business contacts map

  • Map not displaying
Complete
2.54

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
2.53

Website contacts

  • How do I see what Product they are interested in?
Complete
3.00

User log

  • Build out a more comprehensive user tracking log.  Not just logins .  Google analytics
Complete
2.56

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 Level

Find 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:

  1. 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:

  1. 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
2.55

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
2.57

Doctrine update - Entities not working

  • Instructions
  • Weather
  • Facebook Groups
  • Competitor
  • Competitor Service
- Complete
2.58

ATS Company Details Show

  • Fix slider
  • hide facebook months and registration email if deselected 
- Complete
2.59

HomePage

  • Allow multi-selections in the Contact Us form
  • Add Product-include in Contact form field

 

- Complete
2.60

User

  • Reset password doesn't work
Complete
2.61

Facebook Groups and Products

  • Not sorting
Complete
2.62

User

  • Add photo, which should be part of personal details
  • Improve views
- Complete
2.67

Email server

  • Emails failing in many projects
Complete
2.63

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
2.64

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
2.65

HomePage - All photos

  • The photos don't have the hyerlink or the title pop-up working

 

- Complete
2.66

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
2.68

Products

  • CkEditor in Products
Complete
2.69

Check backdoor functionality

  • Doesn't work in ComfyCats (live)
- Complete
2.70

SQL download

  • Learn how to import into local
Complete
2.72

Instructions page

  • Nesting problem
Complete
2.73

Server clean-up

  • Button to clean up the attachments for all directories
  • Button to import the mapicon files 
Complete
2.74

Website contacts

  • Ordering of products according to ranking
  • Similarly in email
- Complete
2.75

User

  • Default language - order by ranking
Complete
2.78

Contact Us

  • Don't show the Interested in… and list of Products if there is only 1 product on offer
- Complete
2.77

User

  • Reset passwords etc
- Complete
2.79

Company Details

  • Need to make email and Default password mandatory, if using the contact form. 
- Complete
2.76

Photo Locations

  • New Photo Location creates an error
Complete
2.82

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
3.00

Photos

  • Handling HEIC photos
Complete
2.80

Edit the bat file to add the new project specific inflation 

- Complete
2.81 Complete
2.83

Products

  • Re-numbering/re-ordering button
Complete
2.84

Competitors

  • Improve field names
- Complete
2.85

Multi-lingual

  • Make the titles in Indexes language-specific
- Complete
2.86

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
2.87

Photo Gallery

  • Email button doesn't work
  • Favoured/unfavoured button don't work
- Complete
2.88

Clear all attachments

  • Button to clear public directory - assume that the directories will be made as files are saved for the first time?
- Complete
2.89

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
2.99

Photos

  • In the CountService, for the CountPrivateLocations, don't just count those Private locations, but those where the user has access to
- Complete
3 Stephen-Nurse #: 5
4 Whistles & Bells #: 0
4.01

Client Details

  • Hide Long and Latitude as an input.  
  • Show map icon
  •  
- Complete
4.02

Whistles and Bells

  • New Dog, New Client Details
- Complete
5 XVA Consulting #: 0
6 LinkedIn Export #: 1
7 Immigration Services #: 4
8 AX Tools #: 10
9 Flight Database #: 1
10 Financial Advisor #: 0
11 Tennis Club #: 4
12 Criminal Record Checks #: 1
13 Irish Passport Consultants #: 0
13.01

Add a new project and site called “IrishPassportApplicationExperts.com”.

Copy from ATS

- Complete
14 Tennis Groups SetUp #: 0
15 TechArete #: 0
16 TennisFinder #: 10
17 ITF Proposal #: 0
18 News-scrapper #: 4
20 Visit Weimar #: 0
21 Comfy Cats #: 0
24 Park n Ride #: 0
24.01

Initial setup

  • Create a live URL
  • Establishg the SSL
  • Get working for basic version
- Complete
25 New Projects #: 0
26 Aphrodite Cleaners #: 0

Loading…
Loading the web debug toolbar…
Attempt #