Переглянути джерело

ddev, fix empty participations, fix paging appointments

master
Daniel 1 рік тому
джерело
коміт
df5e9d5450
11 змінених файлів з 373 додано та 42 видалено
  1. +10
    -0
      .ddev/addon-metadata/phpmyadmin/manifest.yaml
  2. +14
    -0
      .ddev/commands/host/phpmyadmin
  3. +277
    -0
      .ddev/config.yaml
  4. +30
    -0
      .ddev/docker-compose.phpmyadmin.yaml
  5. +4
    -0
      .ddev/docker-compose.phpmyadmin_norouter.yaml
  6. +8
    -0
      .ddev/php/xdebug.ini
  7. +0
    -1
      src/client/app/index.php
  8. +1
    -1
      src/client/app/js/app/state/ConfigurationAttendanceLog.js
  9. +14
    -34
      src/client/app/js/app/state/Home.js
  10. +1
    -3
      src/client/app/tmpl/home.html
  11. +14
    -3
      src/server/server/config/boot_local.php

+ 10
- 0
.ddev/addon-metadata/phpmyadmin/manifest.yaml Переглянути файл

@@ -0,0 +1,10 @@
name: phpmyadmin
repository: ddev/ddev-phpmyadmin
version: v0.3.8
install_date: "2024-08-29T14:51:22+02:00"
project_files:
- docker-compose.phpmyadmin.yaml
- docker-compose.phpmyadmin_norouter.yaml
- commands/host/phpmyadmin
global_files: []
removal_actions: []

+ 14
- 0
.ddev/commands/host/phpmyadmin Переглянути файл

@@ -0,0 +1,14 @@
#!/bin/bash

## #ddev-generated: If you want to edit and own this file, remove this line.
## Description: Launch a browser with PhpMyAdmin
## Usage: phpmyadmin
## Example: "ddev phpmyadmin"

DDEV_PHPMYADMIN_PORT=8036
DDEV_PHPMYADMIN_HTTPS_PORT=8037
if [ ${DDEV_PRIMARY_URL%://*} = "http" ] || [ -n "${GITPOD_WORKSPACE_ID:-}" ] || [ "${CODESPACES:-}" = "true" ]; then
ddev launch :$DDEV_PHPMYADMIN_PORT
else
ddev launch :$DDEV_PHPMYADMIN_HTTPS_PORT
fi

+ 277
- 0
.ddev/config.yaml Переглянути файл

@@ -0,0 +1,277 @@
name: probuddy-master
type: php
docroot: /src/client/app
php_version: "8.1"
webserver_type: nginx-fpm
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
database:
type: mariadb
version: "10.4"
use_dns_when_possible: true
composer_version: "2"
web_environment: []
router_http_port: 8091
router_https_port: 8463

# Key features of DDEV's config.yaml:

# name: <projectname> # Name of the project, automatically provides
# http://projectname.ddev.site and https://projectname.ddev.site

# type: <projecttype> # backdrop, craftcms, django4, drupal6/7/8/9/10, laravel, magento, magento2, php, python, shopware6, silverstripe, typo3, wordpress
# See https://ddev.readthedocs.io/en/latest/users/quickstart/ for more
# information on the different project types

# docroot: <relative_path> # Relative path to the directory containing index.php.

# php_version: "8.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3"

# You can explicitly specify the webimage but this
# is not recommended, as the images are often closely tied to DDEV's' behavior,
# so this can break upgrades.

# webimage: <docker_image> # nginx/php docker image.

# database:
# type: <dbtype> # mysql, mariadb, postgres
# version: <version> # database version, like "10.4" or "8.0"
# MariaDB versions can be 5.5-10.8 and 10.11, MySQL versions can be 5.5-8.0
# PostgreSQL versions can be 9-16.

# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)

# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart"
# Note that for most people the commands
# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better,
# as leaving Xdebug enabled all the time is a big performance hit.

# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart"
# Note that for most people the commands
# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better,
# as leaving Xhprof enabled all the time is a big performance hit.

# webserver_type: nginx-fpm, apache-fpm, or nginx-gunicorn

# timezone: Europe/Berlin
# This is the timezone used in the containers and by PHP;
# it can be set to any valid timezone,
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# For example Europe/Dublin or MST7MDT

# composer_root: <relative_path>
# Relative path to the Composer root directory from the project root. This is
# the directory which contains the composer.json and where all Composer related
# commands are executed.

# composer_version: "2"
# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1
# to use the latest major version available at the time your container is built.
# It is also possible to use each other Composer version channel. This includes:
# - 2.2 (latest Composer LTS version)
# - stable
# - preview
# - snapshot
# Alternatively, an explicit Composer version may be specified, for example "2.2.18".
# To reinstall Composer after the image was built, run "ddev debug refresh".

# nodejs_version: "18"
# change from the default system Node.js version to any other version.
# Numeric version numbers can be complete (i.e. 18.15.0) or
# incomplete (18, 17.2, 16). 'lts' and 'latest' can be used as well along with
# other named releases.
# see https://www.npmjs.com/package/n#specifying-nodejs-versions
# Note that you can continue using 'ddev nvm' or nvm inside the web container
# to change the project's installed node version if you need to.

# additional_hostnames:
# - somename
# - someothername
# would provide http and https URLs for "somename.ddev.site"
# and "someothername.ddev.site".

# additional_fqdns:
# - example.com
# - sub1.example.com
# would provide http and https URLs for "example.com" and "sub1.example.com"
# Please take care with this because it can cause great confusion.

# upload_dirs: "custom/upload/dir"
#
# upload_dirs:
# - custom/upload/dir
# - ../private
#
# would set the destination paths for ddev import-files to <docroot>/custom/upload/dir
# When Mutagen is enabled this path is bind-mounted so that all the files
# in the upload_dirs don't have to be synced into Mutagen.

# disable_upload_dirs_warning: false
# If true, turns off the normal warning that says
# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set"

# ddev_version_constraint: ""
# Example:
# ddev_version_constraint: ">= 1.22.4"
# This will enforce that the running ddev version is within this constraint.
# See https://github.com/Masterminds/semver#checking-version-constraints for
# supported constraint formats

# working_dir:
# web: /var/www/html
# db: /home
# would set the default working directory for the web and db services.
# These values specify the destination directory for ddev ssh and the
# directory in which commands passed into ddev exec are run.

# omit_containers: [db, ddev-ssh-agent]
# Currently only these containers are supported. Some containers can also be
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
# the "db" container, several standard features of DDEV that access the
# database container will be unusable. In the global configuration it is also
# possible to omit ddev-router, but not here.

# performance_mode: "global"
# DDEV offers performance optimization strategies to improve the filesystem
# performance depending on your host system. Should be configured globally.
#
# If set, will override the global config. Possible values are:
# - "global": uses the value from the global config.
# - "none": disables performance optimization for this project.
# - "mutagen": enables Mutagen for this project.
# - "nfs": enables NFS for this project.
#
# See https://ddev.readthedocs.io/en/latest/users/install/performance/#nfs
# See https://ddev.readthedocs.io/en/latest/users/install/performance/#mutagen

# fail_on_hook_fail: False
# Decide whether 'ddev start' should be interrupted by a failing hook

# host_https_port: "59002"
# The host port binding for https can be explicitly specified. It is
# dynamic unless otherwise specified.
# This is not used by most people, most people use the *router* instead
# of the localhost port.

# host_webserver_port: "59001"
# The host port binding for the ddev-webserver can be explicitly specified. It is
# dynamic unless otherwise specified.
# This is not used by most people, most people use the *router* instead
# of the localhost port.

# host_db_port: "59002"
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
# unless explicitly specified.

# mailpit_http_port: "8025"
# mailpit_https_port: "8026"
# The Mailpit ports can be changed from the default 8025 and 8026

# host_mailpit_port: "8025"
# The mailpit port is not normally bound on the host at all, instead being routed
# through ddev-router, but it can be bound directly to localhost if specified here.

# webimage_extra_packages: [php7.4-tidy, php-bcmath]
# Extra Debian packages that are needed in the webimage can be added here

# dbimage_extra_packages: [telnet,netcat]
# Extra Debian packages that are needed in the dbimage can be added here

# use_dns_when_possible: true
# If the host has internet access and the domain configured can
# successfully be looked up, DNS will be used for hostname resolution
# instead of editing /etc/hosts
# Defaults to true

# project_tld: ddev.site
# The top-level domain used for project URLs
# The default "ddev.site" allows DNS lookup via a wildcard
# If you prefer you can change this to "ddev.local" to preserve
# pre-v1.9 behavior.

# ngrok_args: --basic-auth username:pass1234
# Provide extra flags to the "ngrok http" command, see
# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h"

# disable_settings_management: false
# If true, DDEV will not create CMS-specific settings files like
# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php
# In this case the user must provide all such settings.

# You can inject environment variables into the web container with:
# web_environment:
# - SOMEENV=somevalue
# - SOMEOTHERENV=someothervalue

# no_project_mount: false
# (Experimental) If true, DDEV will not mount the project into the web container;
# the user is responsible for mounting it manually or via a script.
# This is to enable experimentation with alternate file mounting strategies.
# For advanced users only!

# bind_all_interfaces: false
# If true, host ports will be bound on all network interfaces,
# not the localhost interface only. This means that ports
# will be available on the local network if the host firewall
# allows it.

# default_container_timeout: 120
# The default time that DDEV waits for all containers to become ready can be increased from
# the default 120. This helps in importing huge databases, for example.

#web_extra_exposed_ports:
#- name: nodejs
# container_port: 3000
# http_port: 2999
# https_port: 3000
#- name: something
# container_port: 4000
# https_port: 4000
# http_port: 3999
# Allows a set of extra ports to be exposed via ddev-router
# Fill in all three fields even if you don’t intend to use the https_port!
# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start.
#
# The port behavior on the ddev-webserver must be arranged separately, for example
# using web_extra_daemons.
# For example, with a web app on port 3000 inside the container, this config would
# expose that web app on https://<project>.ddev.site:9999 and http://<project>.ddev.site:9998
# web_extra_exposed_ports:
# - name: myapp
# container_port: 3000
# http_port: 9998
# https_port: 9999

#web_extra_daemons:
#- name: "http-1"
# command: "/var/www/html/node_modules/.bin/http-server -p 3000"
# directory: /var/www/html
#- name: "http-2"
# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000"
# directory: /var/www/html

# override_config: false
# By default, config.*.yaml files are *merged* into the configuration
# But this means that some things can't be overridden
# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge
# and you can't erase existing hooks or all environment variables.
# However, with "override_config: true" in a particular config.*.yaml file,
# 'use_dns_when_possible: false' can override the existing values, and
# hooks:
# post-start: []
# or
# web_environment: []
# or
# additional_hostnames: []
# can have their intended affect. 'override_config' affects only behavior of the
# config.*.yaml file it exists in.

# Many DDEV commands can be extended to run tasks before or after the
# DDEV command is executed, for example "post-start", "post-import-db",
# "pre-composer", "post-composer"
# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more
# information on the commands that can be extended and the tasks you can define
# for them. Example:
#hooks:

+ 30
- 0
.ddev/docker-compose.phpmyadmin.yaml Переглянути файл

@@ -0,0 +1,30 @@
#ddev-generated
services:
phpmyadmin:
container_name: ddev-${DDEV_SITENAME}-phpmyadmin
image: phpmyadmin:5.2.0
working_dir: "/root"
restart: "no"
labels:
com.ddev.site-name: ${DDEV_SITENAME}
com.ddev.approot: $DDEV_APPROOT
volumes:
- ".:/mnt/ddev_config"
- "ddev-global-cache:/mnt/ddev-global-cache"
expose:
- "80"
environment:
- PMA_USER=root
- PMA_PASSWORD=root
- PMA_HOST=db
- PMA_PORT=3306
- VIRTUAL_HOST=$DDEV_HOSTNAME
- UPLOAD_LIMIT=4000M
- HTTP_EXPOSE=8036:80
- HTTPS_EXPOSE=8037:80
healthcheck:
interval: 120s
timeout: 2s
retries: 1
depends_on:
- db

+ 4
- 0
.ddev/docker-compose.phpmyadmin_norouter.yaml Переглянути файл

@@ -0,0 +1,4 @@
#ddev-generated
# If omit_containers[ddev-router] then this file will be replaced
# with another with a `ports` statement to directly expose port 80 to 8036
services: {}

+ 8
- 0
.ddev/php/xdebug.ini Переглянути файл

@@ -0,0 +1,8 @@
;xdebug.log = /home/danielknudsen/xdebug.log
;xdebug.client_port = 9003
;xdebug.client_host=host.docker.internal
xdebug.client_host=docker.for.mac.localhost
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.log = /tmp/xdebug.log
xdebug.log_level = 7

+ 0
- 1
src/client/app/index.php Переглянути файл

@@ -1,7 +1,6 @@
<?php
require_once __DIR__ . '/../../server/server/config/boot_global.php';
require_once __DIR__ . '/../../server/server/config/boot_local.php';
$version = 'v=2.1.2';//time();//Francis_Utils_Config::get( 'version' );
?>
<!DOCTYPE html>


+ 1
- 1
src/client/app/js/app/state/ConfigurationAttendanceLog.js Переглянути файл

@@ -40,7 +40,7 @@ app.state.ConfigurationAttendanceLog = function()
{
$content.find( '[data-id="container-appointment-log"]' ).first().html(
app.core.View.getTemplate(
'group-member-management-body-appointment-log',
'group-member-management-member-body-appointment-log',
{
logs : res.appointmentLog
}


+ 14
- 34
src/client/app/js/app/state/Home.js Переглянути файл

@@ -452,34 +452,6 @@ app.state.Home = function()
}
}
/**
* Render appointments according to pager setting
* @param pageNo
*/
function updatePaging( pageNo )
{
var pager = self.createPager(
appointments,
+pageNo
),
$content = app.core.View.getContent();
$content.html(
app.core.View.getTemplate(
'home',
{
appointments : pager.pageElements,
pager : pager,
filter : filter,
groupsNotActiveString: groupsNotActiveString,
}
)
);
// Animate scroll to top
$("html, body").animate({ scrollTop: 0 });
}
// Note
// This needs to be called once at the beginning to trigger correct handlers and body classes
app.core.View.setContent( 'Loading...' );
@@ -511,15 +483,23 @@ app.state.Home = function()
)
);
}
self.appointments = appointments;
updatePaging();
$content = app.core.View.getContent();
$content.on( 'change', '[data-id="pager"]', function( e )
{
updatePaging( +$( this ).val() );
});
$content.html(
app.core.View.getTemplate(
'home',
{
appointments: appointments,
filter : filter,
groupsNotActiveString: groupsNotActiveString,
}
)
);
// Animate scroll to top
$("html, body").animate({ scrollTop: 0 });
$content.on('input', '[data-id="appointment-search-filter"]', function(e)
{


+ 1
- 3
src/client/app/tmpl/home.html Переглянути файл

@@ -61,7 +61,7 @@
<% } %>
<% var monthHeader = null, weekHeader = null, currentMonth, currentWeek, currentWeekMoment, a, mStart, mEnd, mDeadline; %>
<%= appointments.length %>
<% for ( var ai = 0; ai < appointments.length; ai++ ) { %>
<% a = appointments[ ai ]; %>
@@ -116,6 +116,4 @@
</div>
<% } %>
<%=raw app.core.View.getTemplate( 'home-pager', { pager : pager } ) %>
<% } %>

+ 14
- 3
src/server/server/config/boot_local.php Переглянути файл

@@ -6,13 +6,24 @@
// General
Francis_Utils_Config::set( 'url.client', 'src/client/app' );
// DB settings
Francis_Utils_Config::set( 'db.tbcore.host', 'database' );
// DB settings (docker)
//Francis_Utils_Config::set( 'db.tbcore.host', 'database' );
//Francis_Utils_Config::set( 'db.tbcore.name', 'pb_core' ); // probudy core
//Francis_Utils_Config::set( 'db.tbcore.user', 'root' );
//Francis_Utils_Config::set( 'db.tbcore.pass', 'root' );
//
//Francis_Utils_Config::set( 'db.tbteamdata.host', 'database' );
//Francis_Utils_Config::set( 'db.tbteamdata.name', 'pb_teamdata' );
//Francis_Utils_Config::set( 'db.tbteamdata.user', 'root' );
//Francis_Utils_Config::set( 'db.tbteamdata.pass', 'root' );
// DB settings (ddev)
Francis_Utils_Config::set( 'db.tbcore.host', 'db' );
Francis_Utils_Config::set( 'db.tbcore.name', 'pb_core' ); // probudy core
Francis_Utils_Config::set( 'db.tbcore.user', 'root' );
Francis_Utils_Config::set( 'db.tbcore.pass', 'root' );
Francis_Utils_Config::set( 'db.tbteamdata.host', 'database' );
Francis_Utils_Config::set( 'db.tbteamdata.host', 'db' );
Francis_Utils_Config::set( 'db.tbteamdata.name', 'pb_teamdata' );
Francis_Utils_Config::set( 'db.tbteamdata.user', 'root' );
Francis_Utils_Config::set( 'db.tbteamdata.pass', 'root' );


Завантаження…
Відмінити
Зберегти