Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 03/25/2024 in all areas

  1. Hi @cianelectric, I don't think there are alternatives for cases like this. I remember I tried using a single-record update form and planned to just make my user remember this very unique ID so they can use it to look up their account, then change the password in the form but it requires the current password so they can create a new one. Looks like the password recovery form is the only way. You can try checking if the email and domain you use for sending the verification is verified to lessen the chance of your users not receiving the email: https://howto.caspio.com/notifications/email-notifications/verifying-email-and-domain/ Hope this helps you. I'll also follow this thread in case someone has other ideas
    1 point
  2. Hello Brian, I might not be understanding you, but you can configure the field to achieve that behaviour. When the checkbox is checked, then it will only show records that have the field empty, otherwise the report will show all the records.
    1 point
  3. Hi - Just another addition to this using the great syntax suggested by @Kurumi, if you ever need to do something with each word in a text field or string, you can use the following: CASE WHEN LEN('[@field:YourTextField]')>0 THEN STUFF((SELECT ' '+ UPPER(LEFT(value,1))+LOWER(SUBSTRING(value,2,LEN(value))) FROM STRING_SPLIT('[@field:YourTextField]',' ') FOR XML PATH ('')), 1, 1, '') ELSE NULL END In the above, the STRING_SPLIT function is used to separate each word in a string (using space (' ') as the separator) in separate rows instead of Selecting multiple rows from a Table. Once we have each word in a row, Upper/Lower/Substring functions are used to capitalize only the first letter. Then we "merge" every row back into one with the STUFF/FOR XML PATH functions. The CASE/WHEN was added because for some reason, if the field is blank the formula would output the whitespace hex code in a Calculated Value/Field. Input text: 'hi, this is a test' Result: 'Hi, This Is A Test' See this article STRING_SPLIT (Transact-SQL) - SQL Server for reference and an example. Hope this helps someone!
    1 point
  4. Thank you @ParkLoey and @imJihyo! That's very helpful.
    1 point
  5. Hi @ClayG! This seems to be a pretty simple app. Here's my suggestion: create a table where you will put all the booth locations create a table where the system will record who picked what booth create a submission form where vendors will choose a booth and submit a record vendors can choose a booth using a dropdown field which gets the options from the table where you put all booth locations Now, the thing you need to do to make the booth unavailable when a vendor has already chosen it is to use triggered actions. Make the trigger delete the booth on the booth table after it has already been chosen. Here's a sample of the trigger Hope this gives you an idea.
    1 point
  6. Hello, There is an option to set the Y Axis range manually: To change the chart using JavaScript, I found this article that shows some options: https://howto.caspio.com/tech-tips-and-articles/customize-caspio-chart-datapages/ I tried to change that code and I was able to make the Chart to always start from 0 on the YAxis and it seems to work for some Charts. Maybe there is someone else that knows a better approach: <script> document.addEventListener('DataPageReady', function() { var cleaner = function(interv) { clearInterval(interv); } let interv = setInterval(() => { if(typeof Highcharts == "undefined" || !Highcharts.charts.length) return; var seriesLength = Highcharts.charts[0].series.length; var getInsideValue = Highcharts.charts[0].series[0].userOptions.data.length; cleaner(interv); Highcharts.charts[0].yAxis[0].min = 0 Highcharts.charts[0].redraw(); }) }); </script>
    1 point
  7. CoopperBackpack

    Need help in trigger

    Hello @bookish, As far as I understood you need to stamp the time when the specific field is updated. The basic approach to track the changes is: 1) To join the Table and the #inserted table on the unique field. This is needed to identify the record that is being updated. 2) To compare the previous value and the new(updated) value. If they are not equal, this means that the value was updated. For example, the 'Update_Date' field will be updated when the 'Name' field is changed. Could you clarify this part 'but not when non-payment fields are updated'? In my understanding, the field you are interested in can be updated along with the other fields. So, if you only need to track the change in the specific field regardless of the other fields, the example on the screenshot should work. Feel free to ask questions if you need further assistance on this.
    1 point
  8. Hello @ForeGolfer, The methods listed in Swagger UI are the available methods. So, as for the object creation, it is only possible to create a Table. All the other objects should be created manually in the account. As for the Triggers, they only work with the existing tables and fields of these Tables.
    1 point
  9. Thank you for the fast and great answer! After reviewing your answer, I was thinking I can also just do a virtual field that is the sum of those two prices. I could also hide those 2 fields. Then I'll see if the normal aggregation allows me to reference the virtual field.
    1 point
  10. @Flowers4Algernon had already resolved and well aware of triggered actions as use them quite frequently with complex actions this was a specific use case I couldn't quite get the syntax right but thanks for the link.
    1 point
  11. Hello @MarkMayhrai, To add, the background color of the header can be applied/changed under the Styles: Results page > Table Layout > Header Cells > Background Options > Color To color specific cells, you need to refer to the number of the column. For example: <style> /* color the 2nd and 3rd header cell */ form[action*='[@cbAppKey]'] th[class*="cbResultSetHeaderCell"]:nth-child(2), form[action*='[@cbAppKey]'] th[class*="cbResultSetHeaderCell"]:nth-child(3){ background-color: #00d5e4; } /* chnage the styles of the 4th header cell */ form[action*='[@cbAppKey]'] th[class*="cbResultSetHeaderCell"]:nth-child(4){ background-color: transparent; border: none; } </style>
    1 point
  12. Hi @MarkMayhrai Do you have responsiveness on the DataPage enabled or disabled? If it is enabled, you can add the following CSS code snippet to the header of your DataPage: <style> .cbResultSetTable tr th:nth-child(column order number) { background-color: color; } </style> Where the "column order number" represents the column order number. So you need to specify which table header columns must have which background colors in this rule. It will look like this: <style> .cbResultSetTable tr th:nth-child(10), .cbResultSetTable tr th:nth-child(11) { background-color: white; } .cbResultSetTable tr th:nth-child(7), .cbResultSetTable tr th:nth-child(8), .cbResultSetTable tr th:nth-child(9) { background-color: blue; } </style>
    1 point
  13. Thanks it highlights the entire row, my code is working as posted so no need to update. Remove the console.log obviously. Cheers
    1 point
  14. Hello @BrianI, You can try the following: let dueDate = new Date('[@field:due_date]'); let today = new Date(); if(dueDate < today){ //do something } However, it is good to know the use case details, because using SQL instead of JavaScript could be possible.
    1 point
  15. Hello @BrianI, It is expected that only editable fields are available https://howto.caspio.com/datapages/forms/conditional-forms/ So, I would use the following workaround. 1) Add a Virtual field, set it as a Calculated Value, and add the Yes/No field as a parameter 2) In a Rule use this Virtual field. Compare with Y or N. Y is for the checked checkbox, N is for the unchecked one. 3) Hide the Virtual 1 field after testing the DataPage.
    1 point
  16. Hi @kpcollier The code must be modified. Try the following version: <script> document.addEventListener('DataPageReady', function (event) { document.querySelector('[name="cbParamVirtual1"]').addEventListener("change", myFunction); function myFunction(event) { let calcField = event.target.value; document.querySelector('#InsertRecordBulletin').value= calcField.toLocaleString(); document.querySelector('#InsertRecordBulletin').nextElementSibling.querySelector('iframe').contentDocument.querySelector('body').innerHTML = calcField document.removeEventListener('DataPageReady', myFunction); } }); </script>
    1 point
  17. Hello! You may want to look into this video where Ned has used Make.com to connect with Trello:
    1 point
  18. Hello @CoopperBackpack This works perfect thanks, you truely are a Caspio Rockstar and this is greatly appreciated Cheers, Roosta
    1 point
  19. Hello @Roosta, You can use the following approach: the condition checks if the first character is zero and if the condition is met concatenates 44 and the number without the first character. This works if the phone number is stored in the Text(255) field.
    1 point
  20. Hello! Caspio releases another new enhancement to the WebHooks feature, refer below: Latest enhancements available to non-HIPAA/Compliance accounts, webhooks can now be: Sent based on table events initiated by triggered actions and tasks. Configured for tables that have triggered actions enabled for the same event as the webhook. Source: https://howto.caspio.com/release-notes/caspio-46-0/#:~:text=Enhancements to Caspio Webhooks
    1 point
  21. HI @CoopperBackpack, I used your second script (pop-up message instead of browser alert). It worked! I just had to put the code because if the one booking typically uses CAPS then the form will submit. const nonDietRegex = /room|floor|bedroom/i; if(nonDietRegex.test(textField)) {
    1 point
  22. Thanks, @CoopperBackpack - I considered that and agree. I don't have a sense for how big it has to be to be a problem. One table has about 2500 records and is unlikely to see material growth. The other is (basically) a b2b customer table. The result set could be millions of records... but not until I get thousands of (b2b) customers. I'm thinking it would be a good problem to have...
    1 point
  23. Hi Emmanuel Katto, CRM is Customer Relationship Management . It helps to manage customer data. Businesses generate vast amount of data everyday. To manage this enormous amount of data, companies need CRM systems. A CRM system essentially provides a central place where businesses can store customer and prospect data, track customer interactions, and share this information with colleagues. It allows businesses to manage relationships with customers, helping the business to grow. Thanks!
    1 point
  24. Hello @AaronJ, If my understanding is correct, there is a training date in the table and it is individual (the date depends on the particular employee). You may check the following approach: 1) Create a new Date/Time field. In my example its name is 'Training_Date_Exp': 2) This field can be populated by a Task that runs daily: The logic is to add the date if 12 months have passed. For today, after the Task run, the result is: 3) As a next step you may either create a View that filters records where the 'Training_Date_Exp' field is not blank and build the DataPages based on this View. Or you may filter records directly on the DataPage if the Search is not needed. If you need a different result, please provide more details.
    1 point
  25. Kurumi

    Add icons to form fields

    Hi! In addition to having Font icons such as Font Awesome for labels, you can also apply this in the Header in the Results Page of Report DataPage. To apply in the DataPage, follow these steps: 1. Insert Header and Footer. In the Header, insert the installation CDN <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/js/all.min.js"></script> 2. Search your icon here: https://fontawesome.com/v5/search?o=r&m=free&s=solid 3. Copy code snippets such as <i class="fas fa-users"></i> 4. Paste the code in Labels in the Header where you like to add an icon. Result:
    1 point
  26. In case you store all data in one table, for example: Then you may use this Task design: Maybe the Task can be optimized, however these Tasks work from my side. Hope this helps.
    1 point
  27. Keep in mind hiding these buttons through CSS will not disable them. If anyone presses 'Enter' they will be able to 'click' the button. You need JavaScript to disable it completely and then use CSS for hiding, or you can use JavaScript for both. For Submission, you do it like: <script> document.getElementsByClassName('cbSubmitButton')[0].disabled = true; document.getElementsByClassName('cbSubmitButton')[0].style.display = 'none'; </script> Update Form/Details Page <script> document.getElementsByClassName('cbUpdateButton')[0].disabled = true; document.getElementsByClassName('cbUpdateButton')[0].style.display = 'none'; </script> If you have multiple forms on a single Webpage, just change 0 to any number depending on the order of the forms, 0 means it's the first form, and so on. If you just really want to hide, then just remove the 1st line.
    1 point
  28. Alison

    Icon inside input field

    Hi @vinebath, You can add a Glyph icon with the additional CSS styles and bootstrap library: 1. Open "Search and Report Wizard - Configure Search Fields" screen, where should be at least one field. Create a Header and Footer element and two HTML blocks, where the HTML editor should be disabled. Please look at the screenshot below to see the structure of the DataPage elements: 2. Move to the Header and put the following code there: <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"> <style> .cbFormTextField { padding-left: 25px; } .inner-addon { position: relative; } /* style glyph */ .inner-addon .glyphicon { position: absolute; padding: 10px; pointer-events: none; } .glyphicon { top: 11px !important; } /* align glyph */ .left-addon .glyphicon { left: 95px; } /* add padding */ .left-addon input { padding-left: 30px; } </style> 3. Put the following code into the first HTML block: <div class="inner-addon left-addon"> <i class="glyphicon glyphicon-search"></i> 4. Put the code below to the second HTML block: </div> 5. The result is the following:
    1 point
  29. Hi, just to add to the previous comment. Yes, Caspio has a disclaimer that says : "This is a Caspio free app. Do not submit passwords or other sensitive data. Report Abuse" this is to ensure that the page is not used as a phishing site since this is a Free account. I also suggest to upgrade your plan and I recommend to review Caspio new pricing plan's resources to ensure the needs of your application. You can visit the newest pricing plan at these sites and for you to not worry about the disclaimer. For Standard Plan:https://www.caspio.com/pricing/standard-edition-plans-features/ For Premium Plan: https://www.caspio.com/pricing/premium-edition-plans-features/
    1 point
  30. You may insert the following java script in the html block: <script> var x=[@cbRecordIndex]; var y=[@field:Your_field]; document.write(x*y); </script> Don't forget to change name of the field in the y variable Cheers!
    1 point
  31. In case anyone comes across this post, I did finally find an answer to my question. If I deploy the style to hide the column in the header of the WEBPAGE (vs header of the caspio page) then I can conditionally hide columns. Based on what page I am on, I hide different columns. Works perfect!
    1 point
×
×
  • Create New...